From f93d77b9de1eb5ab3acd7e1e2d033fa1a8f75a3d Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Mon, 22 Apr 2024 13:23:55 -0700 Subject: [PATCH 01/15] Fix bug where `return self.caller` caused panic --- compiler/passes/src/flattening/flatten_statement.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/compiler/passes/src/flattening/flatten_statement.rs b/compiler/passes/src/flattening/flatten_statement.rs index 9a47421112..755e282e7a 100644 --- a/compiler/passes/src/flattening/flatten_statement.rs +++ b/compiler/passes/src/flattening/flatten_statement.rs @@ -273,7 +273,7 @@ impl StatementReconstructor for Flattener<'_> { let guard = self.construct_guard(); match input.expression { - Expression::Unit(_) | Expression::Identifier(_) => self.returns.push((guard, input)), + Expression::Unit(_) | Expression::Identifier(_) | Expression::Access(_) => self.returns.push((guard, input)), _ => unreachable!("SSA guarantees that the expression is always an identifier or unit expression."), }; From dda608f4843923f3b33ba353d792edfb11abea83 Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Mon, 22 Apr 2024 18:18:48 -0700 Subject: [PATCH 02/15] Add support for program address literals (ex: `hello.aleo`) & `self.address` --- compiler/ast/src/expressions/literal.rs | 2 +- compiler/parser/src/parser/expression.rs | 3 --- .../src/flattening/flatten_statement.rs | 4 +++- .../expression/literal/address_parse.out | 21 +++++++++++++++++++ 4 files changed, 25 insertions(+), 5 deletions(-) diff --git a/compiler/ast/src/expressions/literal.rs b/compiler/ast/src/expressions/literal.rs index 3777c57e27..abd96d2396 100644 --- a/compiler/ast/src/expressions/literal.rs +++ b/compiler/ast/src/expressions/literal.rs @@ -22,7 +22,7 @@ use super::*; #[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] pub enum Literal { // todo: deserialize values here - /// An address literal, e.g., `aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8s7pyjh9`. + /// An address literal, e.g., `aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8s7pyjh9` or `hello.aleo`. Address(String, #[serde(with = "leo_span::span_json")] Span, NodeID), /// A boolean literal, either `true` or `false`. Boolean(bool, #[serde(with = "leo_span::span_json")] Span, NodeID), diff --git a/compiler/parser/src/parser/expression.rs b/compiler/parser/src/parser/expression.rs index a80e46925b..7d3a8a91ce 100644 --- a/compiler/parser/src/parser/expression.rs +++ b/compiler/parser/src/parser/expression.rs @@ -441,9 +441,6 @@ impl ParserContext<'_> { // Parses an external function call `credits.aleo/transfer()` or locator `token.aleo/accounts`. fn parse_external_resource(&mut self, expr: Expression, network_span: Span) -> Result { - // Eat an external function call. - self.eat(&Token::Div); // todo: Make `/` a more general token. - // Parse name. let name = self.expect_identifier()?; diff --git a/compiler/passes/src/flattening/flatten_statement.rs b/compiler/passes/src/flattening/flatten_statement.rs index 755e282e7a..385875df44 100644 --- a/compiler/passes/src/flattening/flatten_statement.rs +++ b/compiler/passes/src/flattening/flatten_statement.rs @@ -273,7 +273,9 @@ impl StatementReconstructor for Flattener<'_> { let guard = self.construct_guard(); match input.expression { - Expression::Unit(_) | Expression::Identifier(_) | Expression::Access(_) => self.returns.push((guard, input)), + Expression::Unit(_) | Expression::Identifier(_) | Expression::Access(_) => { + self.returns.push((guard, input)) + } _ => unreachable!("SSA guarantees that the expression is always an identifier or unit expression."), }; diff --git a/tests/expectations/parser/expression/literal/address_parse.out b/tests/expectations/parser/expression/literal/address_parse.out index b6f6f621e6..e967519fda 100644 --- a/tests/expectations/parser/expression/literal/address_parse.out +++ b/tests/expectations/parser/expression/literal/address_parse.out @@ -9,3 +9,24 @@ outputs: lo: 0 hi: 63 - 0 + - Literal: + Address: + - hello + - span: + lo: 0 + hi: 5 + - 1 + - Literal: + Address: + - fooooo + - span: + lo: 0 + hi: 6 + - 1 + - Literal: + Address: + - bar + - span: + lo: 0 + hi: 3 + - 1 From 3b3d4b4c261518b2660dd35a7e1d1b8501e36a49 Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Mon, 22 Apr 2024 18:33:28 -0700 Subject: [PATCH 03/15] add tests --- compiler/parser/src/parser/expression.rs | 24 +++- .../compiler/address/special_address.out | 18 +++ .../parser/program/address_literal.out | 110 ++++++++++++++++++ .../parser/program/special_address.out | 110 ++++++++++++++++++ .../compiler/address/special_address.leo | 15 +++ .../expression/literal/address_parse.leo | 6 + .../tests/parser/program/special_address.leo | 15 +++ 7 files changed, 297 insertions(+), 1 deletion(-) create mode 100644 tests/expectations/compiler/address/special_address.out create mode 100644 tests/expectations/parser/program/address_literal.out create mode 100644 tests/expectations/parser/program/special_address.out create mode 100644 tests/tests/compiler/address/special_address.leo create mode 100644 tests/tests/parser/program/special_address.leo diff --git a/compiler/parser/src/parser/expression.rs b/compiler/parser/src/parser/expression.rs index 7d3a8a91ce..fddf016bf7 100644 --- a/compiler/parser/src/parser/expression.rs +++ b/compiler/parser/src/parser/expression.rs @@ -441,6 +441,9 @@ impl ParserContext<'_> { // Parses an external function call `credits.aleo/transfer()` or locator `token.aleo/accounts`. fn parse_external_resource(&mut self, expr: Expression, network_span: Span) -> Result { + // Parse `/`. + self.expect(&Token::Div)?; + // Parse name. let name = self.expect_identifier()?; @@ -504,8 +507,27 @@ impl ParserContext<'_> { } else if self.eat(&Token::Leo) { return Err(ParserError::only_aleo_external_calls(expr.span()).into()); } else if self.eat(&Token::Aleo) { - expr = self.parse_external_resource(expr, self.prev_token.span)?; + if self.token.token == Token::Div { + expr = self.parse_external_resource(expr, self.prev_token.span)?; + } else { + // Parse as address literal, e.g. `let next: address = hello.aleo;`. + if !matches!(expr, Expression::Identifier(_)) { + self.emit_err(ParserError::unexpected(expr.to_string(), "an identifier", expr.span())) + } + + expr = Expression::Literal(Literal::Address(format!("{}.aleo", expr.to_string()), expr.span(), self.node_builder.next_id())) + } } else { + // Parse instances of `self.address`. + if let Expression::Identifier(id) = expr { + if id.name == sym::SelfLower && self.token.token == Token::Address { + let span = self.expect(&Token::Address)?; + // Convert `self.address` to the current program name. + // Note that the unwrap is safe as in order to get to this stage of parsing a program name must have already been parsed. + return Ok(Expression::Literal(Literal::Address(format!("{}.aleo", self.program_name.unwrap()), expr.span() + span, self.node_builder.next_id()))); + } + } + // Parse identifier name. let name = self.expect_identifier()?; diff --git a/tests/expectations/compiler/address/special_address.out b/tests/expectations/compiler/address/special_address.out new file mode 100644 index 0000000000..2d06994d07 --- /dev/null +++ b/tests/expectations/compiler/address/special_address.out @@ -0,0 +1,18 @@ +--- +namespace: Compile +expectation: Pass +outputs: + - - compile: + - initial_symbol_table: f159adcd5ea24c580a6b8535b217667a40173809e5802a0b03db3dc5b9bec9aa + type_checked_symbol_table: 9fd0ee7288d5151305f4cd3820594bd9db7accb589bc936e186709af1df6de21 + unrolled_symbol_table: 9fd0ee7288d5151305f4cd3820594bd9db7accb589bc936e186709af1df6de21 + initial_ast: 21db64864f84959ad71dace62a2487285c3b6bb74818536b83a54b63a2bd8d82 + unrolled_ast: 21db64864f84959ad71dace62a2487285c3b6bb74818536b83a54b63a2bd8d82 + ssa_ast: d4e2a516deaa30f8663bb3cd1501c52e3cc781b330dbb149ee3bad0692a8cb59 + flattened_ast: 175fbd23f91421e3d47440c8a7e00fb9e3a2bef1147e061cd8a3f2bd0c978098 + destructured_ast: a23caa23b3ac10d6c2a1b119af502a9ec4380cf521eb65da2c9e2a5f19d44172 + inlined_ast: a23caa23b3ac10d6c2a1b119af502a9ec4380cf521eb65da2c9e2a5f19d44172 + dce_ast: a23caa23b3ac10d6c2a1b119af502a9ec4380cf521eb65da2c9e2a5f19d44172 + bytecode: d9e6c28f9e5527abe9cdb07b9d35375901446415f5d645b0363597200ee45be7 + errors: "" + warnings: "" diff --git a/tests/expectations/parser/program/address_literal.out b/tests/expectations/parser/program/address_literal.out new file mode 100644 index 0000000000..78ad91c1cc --- /dev/null +++ b/tests/expectations/parser/program/address_literal.out @@ -0,0 +1,110 @@ +--- +namespace: Parse +expectation: Pass +outputs: + - imports: {} + stubs: {} + program_scopes: + test: + program_id: "{\"name\":\"test\",\"network\":\"\\\"{\\\\\\\"id\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"aleo\\\\\\\",\\\\\\\"span\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"lo\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\\":0}\\\\\\\"}\\\"\"}" + consts: [] + structs: [] + mappings: + - - Yo + - identifier: "{\"id\":\"2\",\"name\":\"Yo\",\"span\":\"{\\\"lo\\\":34,\\\"hi\\\":36}\"}" + key_type: Address + value_type: + Integer: U32 + span: + lo: 26 + hi: 53 + id: 3 + functions: + - - main + - annotations: [] + variant: Transition + identifier: "{\"id\":\"4\",\"name\":\"main\",\"span\":\"{\\\"lo\\\":70,\\\"hi\\\":74}\"}" + input: + - Internal: + identifier: "{\"id\":\"5\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":75,\\\"hi\\\":76}\"}" + mode: None + type_: Address + span: + lo: 75 + hi: 76 + id: 6 + output: [] + output_type: Unit + block: + statements: + - Assert: + variant: + AssertEq: + - Identifier: "{\"id\":\"7\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":107,\\\"hi\\\":108}\"}" + - Access: + Member: + inner: + Identifier: "{\"id\":\"8\",\"name\":\"self\",\"span\":\"{\\\"lo\\\":110,\\\"hi\\\":114}\"}" + name: "{\"id\":\"9\",\"name\":\"caller\",\"span\":\"{\\\"lo\\\":115,\\\"hi\\\":121}\"}" + span: + lo: 110 + hi: 121 + id: 10 + span: + lo: 97 + hi: 106 + id: 11 + - Assert: + variant: + AssertEq: + - Identifier: "{\"id\":\"12\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":142,\\\"hi\\\":143}\"}" + - Literal: + Address: + - test.aleo + - span: + lo: 145 + hi: 157 + - 14 + span: + lo: 132 + hi: 141 + id: 15 + - Assert: + variant: + AssertEq: + - Identifier: "{\"id\":\"16\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":178,\\\"hi\\\":179}\"}" + - Literal: + Address: + - hello + - span: + lo: 181 + hi: 186 + - 18 + span: + lo: 168 + hi: 177 + id: 19 + - Return: + expression: + Literal: + Address: + - foo + - span: + lo: 209 + hi: 212 + - 21 + span: + lo: 202 + hi: 218 + id: 22 + span: + lo: 87 + hi: 224 + id: 23 + span: + lo: 59 + hi: 224 + id: 24 + span: + lo: 2 + hi: 226 diff --git a/tests/expectations/parser/program/special_address.out b/tests/expectations/parser/program/special_address.out new file mode 100644 index 0000000000..78ad91c1cc --- /dev/null +++ b/tests/expectations/parser/program/special_address.out @@ -0,0 +1,110 @@ +--- +namespace: Parse +expectation: Pass +outputs: + - imports: {} + stubs: {} + program_scopes: + test: + program_id: "{\"name\":\"test\",\"network\":\"\\\"{\\\\\\\"id\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"aleo\\\\\\\",\\\\\\\"span\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"lo\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\\":0}\\\\\\\"}\\\"\"}" + consts: [] + structs: [] + mappings: + - - Yo + - identifier: "{\"id\":\"2\",\"name\":\"Yo\",\"span\":\"{\\\"lo\\\":34,\\\"hi\\\":36}\"}" + key_type: Address + value_type: + Integer: U32 + span: + lo: 26 + hi: 53 + id: 3 + functions: + - - main + - annotations: [] + variant: Transition + identifier: "{\"id\":\"4\",\"name\":\"main\",\"span\":\"{\\\"lo\\\":70,\\\"hi\\\":74}\"}" + input: + - Internal: + identifier: "{\"id\":\"5\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":75,\\\"hi\\\":76}\"}" + mode: None + type_: Address + span: + lo: 75 + hi: 76 + id: 6 + output: [] + output_type: Unit + block: + statements: + - Assert: + variant: + AssertEq: + - Identifier: "{\"id\":\"7\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":107,\\\"hi\\\":108}\"}" + - Access: + Member: + inner: + Identifier: "{\"id\":\"8\",\"name\":\"self\",\"span\":\"{\\\"lo\\\":110,\\\"hi\\\":114}\"}" + name: "{\"id\":\"9\",\"name\":\"caller\",\"span\":\"{\\\"lo\\\":115,\\\"hi\\\":121}\"}" + span: + lo: 110 + hi: 121 + id: 10 + span: + lo: 97 + hi: 106 + id: 11 + - Assert: + variant: + AssertEq: + - Identifier: "{\"id\":\"12\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":142,\\\"hi\\\":143}\"}" + - Literal: + Address: + - test.aleo + - span: + lo: 145 + hi: 157 + - 14 + span: + lo: 132 + hi: 141 + id: 15 + - Assert: + variant: + AssertEq: + - Identifier: "{\"id\":\"16\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":178,\\\"hi\\\":179}\"}" + - Literal: + Address: + - hello + - span: + lo: 181 + hi: 186 + - 18 + span: + lo: 168 + hi: 177 + id: 19 + - Return: + expression: + Literal: + Address: + - foo + - span: + lo: 209 + hi: 212 + - 21 + span: + lo: 202 + hi: 218 + id: 22 + span: + lo: 87 + hi: 224 + id: 23 + span: + lo: 59 + hi: 224 + id: 24 + span: + lo: 2 + hi: 226 diff --git a/tests/tests/compiler/address/special_address.leo b/tests/tests/compiler/address/special_address.leo new file mode 100644 index 0000000000..0a3365ff67 --- /dev/null +++ b/tests/tests/compiler/address/special_address.leo @@ -0,0 +1,15 @@ +/* +namespace: Compile +expectation: Pass +*/ + +program test.aleo { + mapping Yo: address => u32; + + transition main(a: address) -> address { + assert_eq(a, self.caller); + assert_eq(a, self.address); + assert_eq(a, hello.aleo); + return foo.aleo; + } +} \ No newline at end of file diff --git a/tests/tests/parser/expression/literal/address_parse.leo b/tests/tests/parser/expression/literal/address_parse.leo index 5a7dfd6f01..29da660a6f 100644 --- a/tests/tests/parser/expression/literal/address_parse.leo +++ b/tests/tests/parser/expression/literal/address_parse.leo @@ -4,3 +4,9 @@ expectation: Pass */ aleo1qnr4dkkvkgfqph0vzc3y6z2eu975wnpz2925ntjccd5cfqxtyu8s7pyjh9 + +hello.aleo + +fooooo.aleo + +bar.aleo \ No newline at end of file diff --git a/tests/tests/parser/program/special_address.leo b/tests/tests/parser/program/special_address.leo new file mode 100644 index 0000000000..f212c47d6a --- /dev/null +++ b/tests/tests/parser/program/special_address.leo @@ -0,0 +1,15 @@ +/* +namespace: Parse +expectation: Pass +*/ + +program test.aleo { + mapping Yo: address => u32; + + transition main(a: address) { + assert_eq(a, self.caller); + assert_eq(a, self.address); + assert_eq(a, hello.aleo); + return foo.aleo; + } +} \ No newline at end of file From 5a060a4254fa80a5745227fc3cc21a0dd3d21aa5 Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Mon, 22 Apr 2024 18:34:31 -0700 Subject: [PATCH 04/15] support for `network.id` --- compiler/parser/src/parser/expression.rs | 3 + compiler/parser/src/tokenizer/token.rs | 3 + .../src/code_generation/visit_program.rs | 1 + .../src/type_checking/check_expressions.rs | 16 +++++ compiler/span/src/symbol.rs | 2 + .../parser/program/network_id.out | 72 +++++++++++++++++++ .../tests/compiler/expression/network_id.leo | 10 +++ tests/tests/parser/program/network_id.leo | 10 +++ 8 files changed, 117 insertions(+) create mode 100644 tests/expectations/parser/program/network_id.out create mode 100644 tests/tests/compiler/expression/network_id.leo create mode 100644 tests/tests/parser/program/network_id.leo diff --git a/compiler/parser/src/parser/expression.rs b/compiler/parser/src/parser/expression.rs index fddf016bf7..709aa53b90 100644 --- a/compiler/parser/src/parser/expression.rs +++ b/compiler/parser/src/parser/expression.rs @@ -788,6 +788,9 @@ impl ParserContext<'_> { Token::Future => { Expression::Identifier(Identifier { name: sym::Future, span, id: self.node_builder.next_id() }) } + Token::Network => { + Expression::Identifier(Identifier { name: sym::network, span, id: self.node_builder.next_id() }) + } t if crate::type_::TYPE_TOKENS.contains(&t) => Expression::Identifier(Identifier { name: t.keyword_to_symbol().unwrap(), span, diff --git a/compiler/parser/src/tokenizer/token.rs b/compiler/parser/src/tokenizer/token.rs index 6ca8d25d42..67b311b836 100644 --- a/compiler/parser/src/tokenizer/token.rs +++ b/compiler/parser/src/tokenizer/token.rs @@ -143,6 +143,7 @@ pub enum Token { Block, Eof, Leo, + Network, } /// Represents all valid Leo keyword tokens. @@ -237,6 +238,7 @@ impl Token { Token::Let => sym::Let, Token::Leo => sym::leo, Token::Mapping => sym::mapping, + Token::Network => sym::network, Token::Private => sym::private, Token::Program => sym::program, Token::Public => sym::public, @@ -374,6 +376,7 @@ impl fmt::Display for Token { Block => write!(f, "block"), Leo => write!(f, "leo"), Eof => write!(f, ""), + Network => write!(f, "network"), } } } diff --git a/compiler/passes/src/code_generation/visit_program.rs b/compiler/passes/src/code_generation/visit_program.rs index 93449ab953..a7a2041f8e 100644 --- a/compiler/passes/src/code_generation/visit_program.rs +++ b/compiler/passes/src/code_generation/visit_program.rs @@ -182,6 +182,7 @@ impl<'a> CodeGenerator<'a> { // TODO: Figure out a better way to initialize. self.variable_mapping.insert(&sym::SelfLower, "self".to_string()); self.variable_mapping.insert(&sym::block, "block".to_string()); + self.variable_mapping.insert(&sym::network, "network".to_string()); self.current_function = Some(function); // Construct the header of the function. diff --git a/compiler/passes/src/type_checking/check_expressions.rs b/compiler/passes/src/type_checking/check_expressions.rs index 6c3c5692e5..7830860888 100644 --- a/compiler/passes/src/type_checking/check_expressions.rs +++ b/compiler/passes/src/type_checking/check_expressions.rs @@ -240,6 +240,22 @@ impl<'a> ExpressionVisitor<'a> for TypeChecker<'a> { self.emit_err(TypeCheckerError::invalid_block_access(access.name.span())); } }, + // If the access expression is of the form `network.`, then check that the is valid. + Expression::Identifier(identifier) if identifier.name == sym::network => match access.name.name { + sym::id => { + // Check that the operation is not invoked in a `finalize` block. + if self.scope_state.variant == Some(Variant::AsyncFunction) { + self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize( + "network.id", + access.name.span(), + )) + } + return Some(Type::Integer(IntegerType::U32)); + } + _ => { + self.emit_err(TypeCheckerError::invalid_block_access(access.name.span())); + } + }, _ => { // Check that the type of `inner` in `inner.name` is a struct. match self.visit_expression(&access.inner, &None) { diff --git a/compiler/span/src/symbol.rs b/compiler/span/src/symbol.rs index 9ea3a6d6e4..fe34d6a5d1 100644 --- a/compiler/span/src/symbol.rs +++ b/compiler/span/src/symbol.rs @@ -272,6 +272,8 @@ symbols! { stub, block, height, + network, + id, } /// An interned string. diff --git a/tests/expectations/parser/program/network_id.out b/tests/expectations/parser/program/network_id.out new file mode 100644 index 0000000000..f080857fcf --- /dev/null +++ b/tests/expectations/parser/program/network_id.out @@ -0,0 +1,72 @@ +--- +namespace: Parse +expectation: Pass +outputs: + - imports: {} + stubs: {} + program_scopes: + test: + program_id: "{\"name\":\"test\",\"network\":\"\\\"{\\\\\\\"id\\\\\\\":\\\\\\\"1\\\\\\\",\\\\\\\"name\\\\\\\":\\\\\\\"aleo\\\\\\\",\\\\\\\"span\\\\\\\":\\\\\\\"{\\\\\\\\\\\\\\\"lo\\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\\"hi\\\\\\\\\\\\\\\":0}\\\\\\\"}\\\"\"}" + consts: [] + structs: [] + mappings: [] + functions: + - - main + - annotations: [] + variant: Function + identifier: "{\"id\":\"2\",\"name\":\"main\",\"span\":\"{\\\"lo\\\":34,\\\"hi\\\":38}\"}" + input: + - Internal: + identifier: "{\"id\":\"3\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":39,\\\"hi\\\":40}\"}" + mode: None + type_: Address + span: + lo: 39 + hi: 40 + id: 4 + output: [] + output_type: Unit + block: + statements: + - Assert: + variant: + AssertEq: + - Access: + Member: + inner: + Identifier: "{\"id\":\"5\",\"name\":\"network\",\"span\":\"{\\\"lo\\\":71,\\\"hi\\\":78}\"}" + name: "{\"id\":\"6\",\"name\":\"id\",\"span\":\"{\\\"lo\\\":79,\\\"hi\\\":81}\"}" + span: + lo: 71 + hi: 81 + id: 7 + - Literal: + Integer: + - U32 + - "1" + - span: + lo: 83 + hi: 87 + - 8 + span: + lo: 61 + hi: 70 + id: 9 + - Return: + expression: + Identifier: "{\"id\":\"10\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":105,\\\"hi\\\":106}\"}" + span: + lo: 98 + hi: 107 + id: 11 + span: + lo: 51 + hi: 113 + id: 12 + span: + lo: 25 + hi: 113 + id: 13 + span: + lo: 1 + hi: 115 diff --git a/tests/tests/compiler/expression/network_id.leo b/tests/tests/compiler/expression/network_id.leo new file mode 100644 index 0000000000..1eb3b52fbd --- /dev/null +++ b/tests/tests/compiler/expression/network_id.leo @@ -0,0 +1,10 @@ +/* +namespace: Compile +expectation: Pass +*/ +program test.aleo { + transition main(a: address) -> address { + assert_eq(network.id, network.id); + return a; + } +} diff --git a/tests/tests/parser/program/network_id.leo b/tests/tests/parser/program/network_id.leo new file mode 100644 index 0000000000..fca09e291d --- /dev/null +++ b/tests/tests/parser/program/network_id.leo @@ -0,0 +1,10 @@ +/* +namespace: Parse +expectation: Pass +*/ +program test.aleo { + function main(a: address) { + assert_eq(network.id, 1u32); + return a; + } +} From 1e0afc20c1f4eca22d1facbf784cc230fd567873 Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:19:09 -0700 Subject: [PATCH 05/15] Passing network.id test --- Cargo.lock | 114 +++++++++--------- Cargo.toml | 2 +- .../src/type_checking/check_expressions.rs | 6 +- .../compiler/expression/network_id.out | 18 +++ .../tests/compiler/expression/network_id.leo | 9 +- 5 files changed, 86 insertions(+), 63 deletions(-) create mode 100644 tests/expectations/compiler/expression/network_id.out diff --git a/Cargo.lock b/Cargo.lock index 6a3ee624d4..ee87d8240d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2887,7 +2887,7 @@ dependencies = [ [[package]] name = "snarkvm" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "anstyle", "anyhow", @@ -2916,7 +2916,7 @@ dependencies = [ [[package]] name = "snarkvm-algorithms" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "anyhow", @@ -2946,7 +2946,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-account", "snarkvm-circuit-algorithms", @@ -2960,7 +2960,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-account" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-algorithms", "snarkvm-circuit-network", @@ -2971,7 +2971,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-algorithms" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-types", "snarkvm-console-algorithms", @@ -2981,7 +2981,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-collections" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-algorithms", "snarkvm-circuit-types", @@ -2991,7 +2991,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-environment" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "indexmap 2.2.6", "itertools 0.11.0", @@ -3009,12 +3009,12 @@ dependencies = [ [[package]] name = "snarkvm-circuit-environment-witness" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" [[package]] name = "snarkvm-circuit-network" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-algorithms", "snarkvm-circuit-collections", @@ -3025,7 +3025,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-program" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "paste", "snarkvm-circuit-account", @@ -3040,7 +3040,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-address", @@ -3055,7 +3055,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-address" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -3068,7 +3068,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-boolean" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-console-types-boolean", @@ -3077,7 +3077,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-field" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -3087,7 +3087,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-group" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -3099,7 +3099,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-integers" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -3111,7 +3111,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-scalar" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -3122,7 +3122,7 @@ dependencies = [ [[package]] name = "snarkvm-circuit-types-string" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-circuit-environment", "snarkvm-circuit-types-boolean", @@ -3134,7 +3134,7 @@ dependencies = [ [[package]] name = "snarkvm-console" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-account", "snarkvm-console-algorithms", @@ -3147,7 +3147,7 @@ dependencies = [ [[package]] name = "snarkvm-console-account" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "bs58", "snarkvm-console-network", @@ -3158,7 +3158,7 @@ dependencies = [ [[package]] name = "snarkvm-console-algorithms" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "blake2s_simd", "smallvec", @@ -3171,7 +3171,7 @@ dependencies = [ [[package]] name = "snarkvm-console-collections" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "rayon", @@ -3182,7 +3182,7 @@ dependencies = [ [[package]] name = "snarkvm-console-network" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "anyhow", "indexmap 2.2.6", @@ -3205,7 +3205,7 @@ dependencies = [ [[package]] name = "snarkvm-console-network-environment" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "anyhow", "bech32", @@ -3223,7 +3223,7 @@ dependencies = [ [[package]] name = "snarkvm-console-program" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "enum_index", "enum_index_derive", @@ -3244,7 +3244,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-address", @@ -3259,7 +3259,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types-address" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -3270,7 +3270,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types-boolean" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", ] @@ -3278,7 +3278,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types-field" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -3288,7 +3288,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types-group" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -3299,7 +3299,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types-integers" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -3310,7 +3310,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types-scalar" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -3321,7 +3321,7 @@ dependencies = [ [[package]] name = "snarkvm-console-types-string" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console-network-environment", "snarkvm-console-types-boolean", @@ -3332,7 +3332,7 @@ dependencies = [ [[package]] name = "snarkvm-curves" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "rand", "rayon", @@ -3346,7 +3346,7 @@ dependencies = [ [[package]] name = "snarkvm-fields" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "anyhow", @@ -3363,7 +3363,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "anyhow", @@ -3387,7 +3387,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-authority" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "anyhow", "rand", @@ -3399,7 +3399,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-block" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "indexmap 2.2.6", "rayon", @@ -3418,7 +3418,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-committee" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "indexmap 2.2.6", "rayon", @@ -3430,7 +3430,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-ledger-narwhal-batch-certificate", "snarkvm-ledger-narwhal-batch-header", @@ -3443,7 +3443,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-batch-certificate" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "indexmap 2.2.6", "rayon", @@ -3456,7 +3456,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-batch-header" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "indexmap 2.2.6", "rayon", @@ -3468,7 +3468,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-data" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "bytes", "serde_json", @@ -3479,7 +3479,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-subdag" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "indexmap 2.2.6", "rayon", @@ -3494,7 +3494,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-transmission" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "bytes", "serde_json", @@ -3507,7 +3507,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-narwhal-transmission-id" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "snarkvm-console", "snarkvm-ledger-puzzle", @@ -3516,7 +3516,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-puzzle" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "anyhow", @@ -3536,7 +3536,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-puzzle-epoch" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "anyhow", "colored", @@ -3551,7 +3551,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-query" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "async-trait", "reqwest 0.11.27", @@ -3564,7 +3564,7 @@ dependencies = [ [[package]] name = "snarkvm-ledger-store" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std-storage", "anyhow", @@ -3587,7 +3587,7 @@ dependencies = [ [[package]] name = "snarkvm-parameters" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "anyhow", @@ -3612,7 +3612,7 @@ dependencies = [ [[package]] name = "snarkvm-synthesizer" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "anyhow", @@ -3641,7 +3641,7 @@ dependencies = [ [[package]] name = "snarkvm-synthesizer-process" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "colored", @@ -3664,7 +3664,7 @@ dependencies = [ [[package]] name = "snarkvm-synthesizer-program" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "indexmap 2.2.6", "paste", @@ -3678,7 +3678,7 @@ dependencies = [ [[package]] name = "snarkvm-synthesizer-snark" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "bincode", "once_cell", @@ -3691,7 +3691,7 @@ dependencies = [ [[package]] name = "snarkvm-utilities" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "aleo-std", "anyhow", @@ -3712,7 +3712,7 @@ dependencies = [ [[package]] name = "snarkvm-utilities-derives" version = "0.16.19" -source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +source = "git+https://github.com/AleoHQ/snarkVM?rev=da3d78a#da3d78a5726ce5b07581203a9aaff3fe39fc3057" dependencies = [ "proc-macro2", "quote 1.0.35", diff --git a/Cargo.toml b/Cargo.toml index cea1de62e2..e9896415cb 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -46,7 +46,7 @@ members = [ [workspace.dependencies.snarkvm] #version = "0.16.19" git = "https://github.com/AleoHQ/snarkVM" -rev = "2cbf34a" +rev = "da3d78a" [lib] path = "leo/lib.rs" diff --git a/compiler/passes/src/type_checking/check_expressions.rs b/compiler/passes/src/type_checking/check_expressions.rs index 7830860888..7851f932ef 100644 --- a/compiler/passes/src/type_checking/check_expressions.rs +++ b/compiler/passes/src/type_checking/check_expressions.rs @@ -243,14 +243,14 @@ impl<'a> ExpressionVisitor<'a> for TypeChecker<'a> { // If the access expression is of the form `network.`, then check that the is valid. Expression::Identifier(identifier) if identifier.name == sym::network => match access.name.name { sym::id => { - // Check that the operation is not invoked in a `finalize` block. - if self.scope_state.variant == Some(Variant::AsyncFunction) { + // Check that the operation is not invoked outside a `finalize` block. + if self.scope_state.variant != Some(Variant::AsyncFunction) { self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize( "network.id", access.name.span(), )) } - return Some(Type::Integer(IntegerType::U32)); + return Some(Type::Integer(IntegerType::U16)); } _ => { self.emit_err(TypeCheckerError::invalid_block_access(access.name.span())); diff --git a/tests/expectations/compiler/expression/network_id.out b/tests/expectations/compiler/expression/network_id.out new file mode 100644 index 0000000000..8ac6529d83 --- /dev/null +++ b/tests/expectations/compiler/expression/network_id.out @@ -0,0 +1,18 @@ +--- +namespace: Compile +expectation: Pass +outputs: + - - compile: + - initial_symbol_table: 02b83350abcecb36109bf268cf52b9fc867ab1893c49badf31ff527156528943 + type_checked_symbol_table: 1ace971bd20adb9ce07f802070f05c51733af791ef32c7b1130d4a4b2182768d + unrolled_symbol_table: 1ace971bd20adb9ce07f802070f05c51733af791ef32c7b1130d4a4b2182768d + initial_ast: 6dc0a710ab752f571f4dae9fdb172a7fa1c43e3af3858cbc8cf96c5d510a0c3a + unrolled_ast: 6dc0a710ab752f571f4dae9fdb172a7fa1c43e3af3858cbc8cf96c5d510a0c3a + ssa_ast: e09d30595377e81788433b702f76f1338ff4bb720f8564e2560e5f78ebd18bc0 + flattened_ast: 16df732ae63243e249201817b30ae02b8a190072d39894648607970eb2b09192 + destructured_ast: b2f615fbb0825b50c961b4014e2e2d60117b543cab0d2e1acd4f3237c878e95e + inlined_ast: d3f7291df3faf6f8a4893b91133fe183d44c35f3d9c4b9d270d71f943482f965 + dce_ast: d3f7291df3faf6f8a4893b91133fe183d44c35f3d9c4b9d270d71f943482f965 + bytecode: ae04a04e7ffb01dfdd0ae0249f31649302bc120ea928c5ace16bc0879140e1f9 + errors: "" + warnings: "" diff --git a/tests/tests/compiler/expression/network_id.leo b/tests/tests/compiler/expression/network_id.leo index 1eb3b52fbd..991fbe7e88 100644 --- a/tests/tests/compiler/expression/network_id.leo +++ b/tests/tests/compiler/expression/network_id.leo @@ -3,8 +3,13 @@ namespace: Compile expectation: Pass */ program test.aleo { - transition main(a: address) -> address { + async transition main(a: u16) -> Future { + return finalize_main(a); + } + + async function finalize_main(a: u16) { + assert_eq(1u16, network.id); + assert_eq(a, network.id); assert_eq(network.id, network.id); - return a; } } From 7f0381691820e19c1efba7378b5896117f18a8b7 Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:19:28 -0700 Subject: [PATCH 06/15] fmt --- compiler/parser/src/parser/expression.rs | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/compiler/parser/src/parser/expression.rs b/compiler/parser/src/parser/expression.rs index 709aa53b90..aae361bb3c 100644 --- a/compiler/parser/src/parser/expression.rs +++ b/compiler/parser/src/parser/expression.rs @@ -514,18 +514,26 @@ impl ParserContext<'_> { if !matches!(expr, Expression::Identifier(_)) { self.emit_err(ParserError::unexpected(expr.to_string(), "an identifier", expr.span())) } - - expr = Expression::Literal(Literal::Address(format!("{}.aleo", expr.to_string()), expr.span(), self.node_builder.next_id())) + + expr = Expression::Literal(Literal::Address( + format!("{}.aleo", expr), + expr.span(), + self.node_builder.next_id(), + )) } } else { // Parse instances of `self.address`. if let Expression::Identifier(id) = expr { - if id.name == sym::SelfLower && self.token.token == Token::Address { + if id.name == sym::SelfLower && self.token.token == Token::Address { let span = self.expect(&Token::Address)?; // Convert `self.address` to the current program name. - // Note that the unwrap is safe as in order to get to this stage of parsing a program name must have already been parsed. - return Ok(Expression::Literal(Literal::Address(format!("{}.aleo", self.program_name.unwrap()), expr.span() + span, self.node_builder.next_id()))); - } + // Note that the unwrap is safe as in order to get to this stage of parsing a program name must have already been parsed. + return Ok(Expression::Literal(Literal::Address( + format!("{}.aleo", self.program_name.unwrap()), + expr.span() + span, + self.node_builder.next_id(), + ))); + } } // Parse identifier name. From 760fc3cdba10d5157fd22a319d5cca504c4dd9ec Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:24:08 -0700 Subject: [PATCH 07/15] regen --- compiler/parser/src/parser/expression.rs | 2 +- .../parser/expression/literal/address_parse.out | 6 +++--- tests/expectations/parser/program/special_address.out | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/compiler/parser/src/parser/expression.rs b/compiler/parser/src/parser/expression.rs index aae361bb3c..1d5e9eed20 100644 --- a/compiler/parser/src/parser/expression.rs +++ b/compiler/parser/src/parser/expression.rs @@ -443,7 +443,7 @@ impl ParserContext<'_> { fn parse_external_resource(&mut self, expr: Expression, network_span: Span) -> Result { // Parse `/`. self.expect(&Token::Div)?; - + // Parse name. let name = self.expect_identifier()?; diff --git a/tests/expectations/parser/expression/literal/address_parse.out b/tests/expectations/parser/expression/literal/address_parse.out index e967519fda..c23190610a 100644 --- a/tests/expectations/parser/expression/literal/address_parse.out +++ b/tests/expectations/parser/expression/literal/address_parse.out @@ -11,21 +11,21 @@ outputs: - 0 - Literal: Address: - - hello + - hello.aleo - span: lo: 0 hi: 5 - 1 - Literal: Address: - - fooooo + - fooooo.aleo - span: lo: 0 hi: 6 - 1 - Literal: Address: - - bar + - bar.aleo - span: lo: 0 hi: 3 diff --git a/tests/expectations/parser/program/special_address.out b/tests/expectations/parser/program/special_address.out index 78ad91c1cc..f581b49bdf 100644 --- a/tests/expectations/parser/program/special_address.out +++ b/tests/expectations/parser/program/special_address.out @@ -75,7 +75,7 @@ outputs: - Identifier: "{\"id\":\"16\",\"name\":\"a\",\"span\":\"{\\\"lo\\\":178,\\\"hi\\\":179}\"}" - Literal: Address: - - hello + - hello.aleo - span: lo: 181 hi: 186 @@ -88,7 +88,7 @@ outputs: expression: Literal: Address: - - foo + - foo.aleo - span: lo: 209 hi: 212 From 07a6c84100ab73c32c4e30d413a27a79274491ad Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:11:42 -0700 Subject: [PATCH 08/15] fixes --- compiler/parser/src/parser/expression.rs | 2 +- compiler/parser/src/tokenizer/token.rs | 1 + .../src/type_checking/check_expressions.rs | 28 ++---------- compiler/passes/src/type_checking/checker.rs | 43 +++++++------------ 4 files changed, 22 insertions(+), 52 deletions(-) diff --git a/compiler/parser/src/parser/expression.rs b/compiler/parser/src/parser/expression.rs index 1d5e9eed20..fd3b2500af 100644 --- a/compiler/parser/src/parser/expression.rs +++ b/compiler/parser/src/parser/expression.rs @@ -510,7 +510,7 @@ impl ParserContext<'_> { if self.token.token == Token::Div { expr = self.parse_external_resource(expr, self.prev_token.span)?; } else { - // Parse as address literal, e.g. `let next: address = hello.aleo;`. + // Parse as address literal, e.g. `hello.aleo`. if !matches!(expr, Expression::Identifier(_)) { self.emit_err(ParserError::unexpected(expr.to_string(), "an identifier", expr.span())) } diff --git a/compiler/parser/src/tokenizer/token.rs b/compiler/parser/src/tokenizer/token.rs index 67b311b836..2787235e97 100644 --- a/compiler/parser/src/tokenizer/token.rs +++ b/compiler/parser/src/tokenizer/token.rs @@ -181,6 +181,7 @@ pub const KEYWORD_TOKENS: &[Token] = &[ Token::Inline, Token::Let, Token::Mapping, + Token::Network, Token::Private, Token::Program, Token::Public, diff --git a/compiler/passes/src/type_checking/check_expressions.rs b/compiler/passes/src/type_checking/check_expressions.rs index 7851f932ef..d0a7266a66 100644 --- a/compiler/passes/src/type_checking/check_expressions.rs +++ b/compiler/passes/src/type_checking/check_expressions.rs @@ -202,22 +202,12 @@ impl<'a> ExpressionVisitor<'a> for TypeChecker<'a> { Expression::Identifier(identifier) if identifier.name == sym::SelfLower => match access.name.name { sym::caller => { // Check that the operation is not invoked in a `finalize` block. - if self.scope_state.variant == Some(Variant::AsyncFunction) { - self.handler.emit_err(TypeCheckerError::invalid_operation_inside_finalize( - "self.caller", - access.name.span(), - )) - } + self.check_access_allowed("self.caller", false, access.name.span()); return Some(Type::Address); } sym::signer => { // Check that operation is not invoked in a `finalize` block. - if self.scope_state.variant == Some(Variant::AsyncFunction) { - self.handler.emit_err(TypeCheckerError::invalid_operation_inside_finalize( - "self.signer", - access.name.span(), - )) - } + self.check_access_allowed("self.signer", false, access.name.span()); return Some(Type::Address); } _ => { @@ -228,12 +218,7 @@ impl<'a> ExpressionVisitor<'a> for TypeChecker<'a> { Expression::Identifier(identifier) if identifier.name == sym::block => match access.name.name { sym::height => { // Check that the operation is invoked in a `finalize` block. - if self.scope_state.variant != Some(Variant::AsyncFunction) { - self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize( - "block.height", - access.name.span(), - )) - } + self.check_access_allowed("block.height", true, access.name.span()); return Some(Type::Integer(IntegerType::U32)); } _ => { @@ -244,12 +229,7 @@ impl<'a> ExpressionVisitor<'a> for TypeChecker<'a> { Expression::Identifier(identifier) if identifier.name == sym::network => match access.name.name { sym::id => { // Check that the operation is not invoked outside a `finalize` block. - if self.scope_state.variant != Some(Variant::AsyncFunction) { - self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize( - "network.id", - access.name.span(), - )) - } + self.check_access_allowed("network.id", true, access.name.span()); return Some(Type::Integer(IntegerType::U16)); } _ => { diff --git a/compiler/passes/src/type_checking/checker.rs b/compiler/passes/src/type_checking/checker.rs index c12f47ee7e..4217055ce3 100644 --- a/compiler/passes/src/type_checking/checker.rs +++ b/compiler/passes/src/type_checking/checker.rs @@ -449,7 +449,7 @@ impl<'a> TypeChecker<'a> { /// Emits an error if the correct number of arguments are not provided. /// Emits an error if the arguments are not of the correct type. pub(crate) fn check_core_function_call( - &self, + &mut self, core_function: CoreFunction, arguments: &[(Option, Span)], function_span: Span, @@ -978,10 +978,7 @@ impl<'a> TypeChecker<'a> { } CoreFunction::MappingGet => { // Check that the operation is invoked in a `finalize` block. - if self.scope_state.variant != Some(Variant::AsyncFunction) { - self.handler - .emit_err(TypeCheckerError::invalid_operation_outside_finalize("Mapping::get", function_span)) - } + self.check_access_allowed("Mapping::get", true, function_span); // Check that the first argument is a mapping. if let Some(mapping_type) = self.assert_mapping_type(&arguments[0].0, arguments[0].1) { // Check that the second argument matches the key type of the mapping. @@ -994,12 +991,7 @@ impl<'a> TypeChecker<'a> { } CoreFunction::MappingGetOrUse => { // Check that the operation is invoked in a `finalize` block. - if self.scope_state.variant != Some(Variant::AsyncFunction) { - self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize( - "Mapping::get_or", - function_span, - )) - } + self.check_access_allowed("Mapping::get_or", true, function_span); // Check that the first argument is a mapping. if let Some(mapping_type) = self.assert_mapping_type(&arguments[0].0, arguments[0].1) { // Check that the second argument matches the key type of the mapping. @@ -1014,10 +1006,7 @@ impl<'a> TypeChecker<'a> { } CoreFunction::MappingSet => { // Check that the operation is invoked in a `finalize` block. - if self.scope_state.variant != Some(Variant::AsyncFunction) { - self.handler - .emit_err(TypeCheckerError::invalid_operation_outside_finalize("Mapping::set", function_span)) - } + self.check_access_allowed("Mapping::set", true, function_span); // Check that the first argument is a mapping. if let Some(mapping_type) = self.assert_mapping_type(&arguments[0].0, arguments[0].1) { // Cannot modify external mappings. @@ -1036,12 +1025,7 @@ impl<'a> TypeChecker<'a> { } CoreFunction::MappingRemove => { // Check that the operation is invoked in a `finalize` block. - if self.scope_state.variant != Some(Variant::AsyncFunction) { - self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize( - "Mapping::remove", - function_span, - )) - } + self.check_access_allowed("Mapping::remove", true, function_span); // Check that the first argument is a mapping. if let Some(mapping_type) = self.assert_mapping_type(&arguments[0].0, arguments[0].1) { // Cannot modify external mappings. @@ -1059,12 +1043,7 @@ impl<'a> TypeChecker<'a> { } CoreFunction::MappingContains => { // Check that the operation is invoked in a `finalize` block. - if self.scope_state.variant != Some(Variant::AsyncFunction) { - self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize( - "Mapping::contains", - function_span, - )) - } + self.check_access_allowed("Mapping::contains", true, function_span); // Check that the first argument is a mapping. if let Some(mapping_type) = self.assert_mapping_type(&arguments[0].0, arguments[0].1) { // Check that the second argument matches the key type of the mapping. @@ -1506,6 +1485,16 @@ impl<'a> TypeChecker<'a> { self.handler.emit_err(err); } } + + // Checks if the access operation is valid inside the current function variant. + pub(crate) fn check_access_allowed(&mut self, name: &str, finalize_op: bool, span: Span) { + // Check that the function context matches. + if self.scope_state.variant == Some(Variant::AsyncFunction) && !finalize_op { + self.handler.emit_err(TypeCheckerError::invalid_operation_inside_finalize(name, span)) + } else if self.scope_state.variant != Some(Variant::AsyncFunction) && finalize_op { + self.handler.emit_err(TypeCheckerError::invalid_operation_outside_finalize(name, span)) + } + } } fn types_to_string(types: &[Type]) -> String { From b85ace8b27186b3612718f9ef719dce268a19722 Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Mon, 29 Apr 2024 14:36:46 -0700 Subject: [PATCH 09/15] port snarkVM test --- compiler/parser/src/parser/expression.rs | 2 +- tests/expectations/execution/metadata.out | 195 ++++++++++++++++++++++ tests/tests/execution/metadata.leo | 49 ++++++ 3 files changed, 245 insertions(+), 1 deletion(-) create mode 100644 tests/expectations/execution/metadata.out create mode 100644 tests/tests/execution/metadata.leo diff --git a/compiler/parser/src/parser/expression.rs b/compiler/parser/src/parser/expression.rs index fd3b2500af..c8ae9f5c9e 100644 --- a/compiler/parser/src/parser/expression.rs +++ b/compiler/parser/src/parser/expression.rs @@ -526,7 +526,7 @@ impl ParserContext<'_> { if let Expression::Identifier(id) = expr { if id.name == sym::SelfLower && self.token.token == Token::Address { let span = self.expect(&Token::Address)?; - // Convert `self.address` to the current program name. + // Convert `self.address` to the current program name. TODO: Move this conversion to canonicalization pass when the new pass is added. // Note that the unwrap is safe as in order to get to this stage of parsing a program name must have already been parsed. return Ok(Expression::Literal(Literal::Address( format!("{}.aleo", self.program_name.unwrap()), diff --git a/tests/expectations/execution/metadata.out b/tests/expectations/execution/metadata.out new file mode 100644 index 0000000000..e4f20cc1f4 --- /dev/null +++ b/tests/expectations/execution/metadata.out @@ -0,0 +1,195 @@ +--- +namespace: Execute +expectation: Pass +outputs: + - - compile: + - initial_symbol_table: 1bf49c8a2227ea1452454eac5931b6dd9e9313c0a87175db31aa8fcf221dfe6d + type_checked_symbol_table: 6b15865777d5453848ba8e2a089d31f97befb0a88b27935b2eb9ae6745723bdc + unrolled_symbol_table: 6b15865777d5453848ba8e2a089d31f97befb0a88b27935b2eb9ae6745723bdc + initial_ast: 3355314cbc25644717fb83bdbd5075649847683e4bfe58c2547e5a0169e273f3 + unrolled_ast: 3355314cbc25644717fb83bdbd5075649847683e4bfe58c2547e5a0169e273f3 + ssa_ast: f7673dee5dae150c895fd00cc07e24db99cb4cca42dfe2f54d311f1bd7c460c2 + flattened_ast: 5ad3b910db260531c64908c42dbe56aafb11cfac3c2afbdcdb58b8d4a7d86a8f + destructured_ast: 73fc708dc67e1f01255aa8bfbaa0a040db7658e8db6360240dbff3b6005904b5 + inlined_ast: 0174db986b989193bda3984dc0e13aa533fa8a465fd7b986af55f1346ac20e30 + dce_ast: 0174db986b989193bda3984dc0e13aa533fa8a465fd7b986af55f1346ac20e30 + bytecode: c5fbc61b3a7b1400dda65dc947a495d14f1b43986550cd889efd4cc653912355 + errors: "" + warnings: "" + execute: + - execution: + transitions: + - id: au196vk6tpj7cgyp0dvfm2c8009z89q8ch5376t0qavp87msv39wcqsucuvus + program: metadata.aleo + function: is_block_height + inputs: + - type: private + id: 1828886139934070702847867954511879816884750762363092521533208865235753727566field + value: ciphertext1qyqg8xn27x3ukujrthuh67jazc3h5v96hhc7zacwef08y7a9lpu92pqpf7jp8 + outputs: + - type: future + id: 5457953770891457596513693104617313278374925684406320053944467986971462340947field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 0u32\n ]\n}" + tpk: 4174266389141840694112770464623549736508472115786023137592436699114609405528group + tcm: 8338099097402671626408038034858578087638496090147697571937791628404909729345field + scm: 1980270338266624580494901677581519840423416572710948745278059423752506827747field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqtxu2hrjlkjsvwn6de72q34lqmtstr69ahhjy0mlc5jujj4zxhkzncpd8tl6y2nrx5fuxnmpd9ej5qqylhezq3dmrqm3cm4tawnuznt5gc2fv8psgvswzavf79my3t8ahzhj9x5epa9k6s9vznyh8mp4qsnqgz2jsuc23szktw2ckx5jn4sqde76qaxp5ngwxssv407kqa659cg4mxc7f8yhzexrkc6mzwslrjj6qeza4qy2hrdrtp2884x55jq3j8tfcllhcne2k55dq2wyckw7zyd23c9uv8a4gdtvczsy76ef4vf2sq5eat9urj0u52f2zgeqrl7kcq3vj6wvzgrl7xv4fdffy3tmvu547uj766lkfm4my98wa4dg8tdtagpcsrzxy8fuktmgsxu8jztldkcm05enzvyhg5n6qfnc3v97hdzdkaruhdm4gy99rhcy8q6alfzwk5srqzylx6l6a7lpsjpmkkfj6pg0j479shgcl469r7tglt4dkr3mc4hhdw7rya8cr4wekr8raftqweqq948a5nw9x8krz7hfux8y52p6jq56r87dcc2a2n8dxnunpeeg7rlem45ft9v7cvdsx2r79c2uvq3sq66kh0z9xaa6yf7l40vzeqkrjhpwau0jms575gw7z8r0y5572rflkdu0p6zwshn7c5fhexjyxg60gp44fp0zwc6x8pjan4hgxsw28l3ev9raz02ljcehpkefwtnvs6sqz8qykyeneq9kk5kxydlng76qjjy5zk6tgkmgtr0ua76e5hpxrevz3uyml43y3w4p6vez9xpne8cvq25mnqu6tyg9v3h6g95xhq2p9zz2ekpxk2xk7hh5zkk8anuar8m5ph08vdzkg2290uw8l8a05hn57p9xcj4kmpn2hp0ckfsysugukry3hlul49j5xlr4s4z3kzykn6mzqvz3lg8fnlrx69yeywp47mk7xm8z4wuasxkjatseeut4lkdsda0yy5vsuqpyalet83e70xhmpfpzejlqq93fftq3jdgrp2pl46myhyxpmjwvna56km2486cx4npl9fthutud6adgud60azx067hu7rfd36p7esvlz2sw609dhmprjhgxxfa9jk78wuf67vnq46zsu092unjnpppyvqlu8qg2euhj2ccgqyt4xz7wnem2j8supprfeuhst3zt5le3qdqvqqqqqqqqqqqhds93teyttdchawkeg3er480yf2gmgwmps5n4sepqvyvc7jz6ujhla7h6tw9ucnyk0p5c9gjggssyq2h0zlh5sqgwkutfehr4usqqlrjax6j2xh28e2zc9rjx8tvzc97ve2tzw0sq78zdvlx6ck3akpqxvpqywtdg5mncgw5ulhc06y3pmnfnqyl7v2qs9eve80m5n3rt4yc7qqy5culrh39czv8yujx9xfyvq0wh3pl7f5sq2fca38mqxdt5qmk475xvsthnundq3vultnrh7wcjygqyqq0hrrhd + verified: true + status: rejected + errors: "" + warnings: "" + - execution: + transitions: + - id: au1r352lhvujpnjs6dsv7zxjlesddm6mdzwl2579vglc9d0jf5zd5rq5ceuj5 + program: metadata.aleo + function: is_block_height + inputs: + - type: private + id: 4286956730291478172967552406966020510655589486973029992023461375203373137580field + value: ciphertext1qyqf8p8u0l6w5w7nmsquncjs36gjxeaxpkkuvl4h6jfqntenutrykrglqqg0t + outputs: + - type: future + id: 2385412319407656831158957518021928306540861142632415702983135495782059153176field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 1u32\n ]\n}" + tpk: 6826075503536703408877015806866676888464978285285642759889480649615825407885group + tcm: 2184261592989300536746165496548115475812152687244578178115561569274734999038field + scm: 407281751932047584685189018244827210538163428192377398266270897182443379767field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqq94afhc7cpuy4kjcl8j5cndyxajsp37895s58fsx8qyh7yr7qtnz0mca7um7n8scq7hhurkxe976upq9na6qs3klshmquwdhuja5z67tvxswtmytsceyqtsd3vqk227suywajtjjef694w8c6df4my4mjjqqrwjvf90ea6e3veg27rhme0n49hlfjxnd607y2p8jm2zj20mr3yndf5n0yunz7mh5tk3tf8syxescqvx7s5cnzky2leuqcg7ytmdl60uchgx3l96kelcr3gznjsql9mv8w4aez7vv0d2e982xun3agnwaup3dleeqaacr9p0m5vac0xly4wqrm73hfsgfsjcq5dph49v66mw2s0kptpvcl4en27sgcnpmc48e3sqmjaevd4g02h67vsx79yn85nm5h8h3mlhegal2xz0x5984qg3qaqpjweckp98naxnj8j0mwm9ty7qy7vt2qr9nuazvhlx9qwss5y3spsmafcq3c28gva5ls0h93r7zt6nv5zf7gtv9ekqrjt95cnh67m0qx0mmt033dr286st0cpp6exmff4cn77w04q8dc29cyhrzppgd3xspy7007mnpac8ywgh3nvq7r6csq9x7rdl74vevz7fg70fn2dxq563vfwq0uewrn09xlwu5h5ehjjn7paszqnvngkuyxfdwl8ypgpzp5p6lfws7m482q65y2wn2u40vatf9f5scnak7aecd6eqwhurzyusyrykxtdswtvyxacvpn5hspww5vw8uptpgy9w248hedgevm02se4ypur94w4ed3ap6xudtvekyyca39fnctsnh2fq7d85quv4yj34m09q0afddnt3nq4vcn3f0j5pq36s9dp90he9r3za4n0nymlppwtgpfqd2qy0d7xud83g058t3c3de0taqfxs7s3pvfxx793jfrkessskmqwlfelj0j2h820wxcjc2y93jj7dfyg2hng6tfwsg4pc2yld9dldgxzc5myqcjltls94lpf7zz40ztq80xj8w2ftc4sp5vs8le375efqpj627jm6qpz83dfmu8z030lwez6jek3mp3qvvc3drpwke6dsm9cp7a9gzrqrc5yqhsqa9v8f7tf3rlgxk03rvn5m5rhgwnf8tp7kj7qcmr0w6ffru7q36qtyg9lqk4amw3khapt7xmfw6m29kckjnww0kg9qvqqqqqqqqqqpek7f7tm8j3x7knxqath3pjg7gcdgmhxk2vhnqgfs3mdmm0dx5d2fx0u9n4z6gqgf5crhwn69g98syq806fm00fg3nwdyeuhlkm8ee49jf5ehmwjxp4wlp3yd4h6hnldgvkpl990923xjuwqd6dwdmryyaypq90y0td3upv5rx3r6u4xsvelryf5nfetp6mnn6qva36d62ucafaszj3729t8lck995c3g6fhqw3rwvu3vdnmzdg8wpthglcc9cae2lt93pjndujzvq33kvj7ezerdpprqyqqnru28k + verified: true + status: rejected + errors: "" + warnings: "" + - execution: + transitions: + - id: au13zslsaxttpvsgtmcmrw73x03k2lmuq4p2fvhjak42qwdm02jrs9qxssdm7 + program: metadata.aleo + function: is_block_height + inputs: + - type: private + id: 8211778640811586469327625094750393673294867466010064667391066202117864355889field + value: ciphertext1qyqrkdwenqpgp7vqqv5tvnt7nvumr5w553pq5lwjntjeuavh3re7cqq0u2w79 + outputs: + - type: future + id: 2644113075717811263567925485017682536194868718759129046632116666842982336474field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 2u32\n ]\n}" + tpk: 5961719084867262658611365638360766420582791439974047595680459060088949753734group + tcm: 6626624319880809262391967868024871859050942736550513386256577389697770634318field + scm: 1709184858721614245415770013947709782814544370016004415745981136924726103130field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqvy8y0kv6jtl5hvetkc3vudc0nlnk85vjf9u3sw69d0n7n8urttcef2z97nyeutwrvrhajftc5ewqqq880k0f7kg9mhl9f3nqerjwsv28v57anx2qcvxqsndd0wuhldwwh5cj0cj2rm24vk40u5le0gkz8qqx026a4utrczjdshfhapv9uxjwm7rf5yfcjcs97rhqg6n0fdvl63yza57kv6n08wnyyqe73gaxs0xq3h3mnefw43gn59uzcz2kctjjgwlvfw2a853kds7ut0q34pyjlfj7rqwf5gct8ggtkvjcm5uyckwspz5vy4fqclmehcqfycgzt52ha5evv6sdjcvwcytk830k3jkqptuf9fjqqyp96wrat360dcut23pmcqwqg0kwxz6n98dww8zavmj6uyde4mfn0tz920zaqdcyx8veatxfgsku6gm2qh7qwyx0zlyp5mzzws9jmhkk8hj2stnyj5x50ypg7hvcl7lml7dzrdut26vjvpc86c555hhj4mat4s07dn8m4a3lerxs99qplm0zqwdzv0yff2uaqqjg3fvqg5wpzdxeskm052g20qxm98jzqkhqghu427hc5r4z6263d9m39n6qh477zemljmur7ad0jqrqcx8rvwyhthhrzgxmsavs6wkyxupv392u6u0w3lr8craa9zmrxy04p6esqp5v0z0a849g3yzgwkf439rqfuu3ytme7026wlyaq23zpfzvg559mjr7hym0l333xuwvynkgy3smg60p5v6aumttxe7cku8skja5gzr6q2jtl9t9e5gp6k928zp9pprmehjllv57mzmal7p8n385kt5s7qwy6tkwtgpcxlkm6zxtkqmc584h7dhxt6hrg9ahq3nwzu5u5d3tsl2xgjzs6wsm5d6jaf8xj5wlhcxdja0au06gt25fgn54r5u4d9ugvhktpstu4vhw9kwxf7u284df8ethqwwckjedvkzm83hdvwacjn5q4ye2fcdru97tq0vz3g2tcjuljgdvtlkdqj4zjn72d3tptyclzuydxdc6vdrq436pfn5mhskqerm20w02c8n5yqqhjxep62sqk4x9fzfxcd2k3pd9e3txfz8jh0xhnmzyajxwyvvhkmvd6ffhu943evk7q4neae0r3pgj0l6xfrsygxgpuu0w2m386qn6ptd9mdswnchvqe4gyqvqqqqqqqqqqpts0qkdkj8akq5zvd8ue852qg6z2agmctk7q9ptevs5k72hr7xt3g5n97sxa6w289lu45mzdm4atqyq8jtxcyd23u4n850ne3nt7k27szqwelnt93w8qwkmcr3kzsgmeqlkutm0c9n3zmdgcc59eyu4nytgpq8yntau9uvct50r3e9mjwknc0ladxmdyhhrrp3g6j3tt85h6z5xqaw2523mchx35lmfcgvarfhcc0lc4n48z8n2fg69244npddgqnhrluudxfl2lekecevc2qeaa4nn4qyqq3eqlel + verified: true + status: rejected + errors: "" + warnings: "" + - execution: + transitions: + - id: au1d4gcxz8n54cx906ta3pdkh0rfceqaehtlnazlkulhwsfeqw855zsr45csn + program: metadata.aleo + function: is_block_height + inputs: + - type: private + id: 3135069345152341838952663532563340664522465142511255226861901318078991996664field + value: ciphertext1qyqy0udrrk2za49wpc2p3cdu5gnx7wrgxgdazmkxev7w52kk50m4crqz9jjkl + outputs: + - type: future + id: 6212337145581851034051086140353914628088463539878723696070597953853228640387field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 3u32\n ]\n}" + tpk: 1444729407522809558323470265213923228766243452572825861150604562994526846724group + tcm: 6605683873534110561518205917497290187071187934421726209194585939237041100572field + scm: 6386290422692476953856701959340582555742652888613812253698770682334976467968field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqq98gssxjzs9urgj4efycpqmxx7nwkyc6tq00fj5ra6v0jakcdega0gq5yccvpftprxzda5hcydl2gqq8vawxkgvfuqnppmz6zjmjfjjtyvlqjl3uks5x3fprdmc8vzy6ueea4ndqkxv22fq5p9flh590zvvqyk862z7mnr4uuh6a9chh7m6mqvzvpdzepv7gthyahefc0hfy75226casj9qwhfu72k5yd9tzacz5q4es8qkpn0xxxx48ek6fmsk8e382672agtuqez0vsgnf922ukvdwnxd5hautgwhr6frjj3zka4esgqmv4ddujq5q7ehqueultty8hnyvs3y0umxjxzycz8jvm5z3rxnst7392xpczrjz3a8ecgqpwtklfspz4u27wrjj4zze3t3meg8c9g3qd5r0a2r6zh0hpnpraqhcwd7mk25y5qdresvzuzz7zczt0hvl5ksz9pv422e407r5n0vlnlnmmpwj596s4n90vyrgcguhr7ult0rjgl4xnq25p245nhhxrpc0khu3uvyqrals462j4ku452uje2d550ppzuth3gsw4xr39ntyplnfuaqqhak62f6x24zxsrrkhs8zs3ky3k25qys24sswxmkkhvhp86q75ufc9r2h45ugu2q98mmwpup90e4tmuw0zlkllkj52ru5nz6qjtwg3mk9uqsa9cjx6krhmhj9swrquxua82yrpwzuce9tts6xat9m07dh979ygre37dlud4lk56h39yugznaxfaylucrm8yn7pwhmqnyj76x0smwztzqrh2f5hcgy5cqklhzl93twqe5uzqq9yst7s3p87ywh6cn9z7qrvpwsyemehgugxynn4t753t0kucz38dmkdx72yuexc8rm5yk0lpp0wetmnprz0yd4z48e0jqwep3c4aedmnm6x9g7gucaskn73gv2cv4pz7h55zq52wynp3zlj8yah0xay4kgggda3kqyupugwk6qem7vxjr5dtwhd9gv4hl5enqms0zsaxu3wzyehqzdtke0x4v6chvsqrqz3ljfps33e7fqfq9ffl4pxzvkvnzq7uf47430at6cw7jrvu3yz0pkt5wr0434z7ygga78rf0awt4e5a8tpgwv5msgm2ljqe3tchnxhsakay7jd7gpfzajj7ulun7cyyyutwdrw7ve09wkcx557vdtekxzczqvqqqqqqqqqqq5t2cgrt52r88rg6jjyyf2tsav7nesesujn0jff9ds39ga4a2q9u3chr9ve2sv5tqr758ma48nwrqqqq7398ng724p5aas3l5jdg4v7srjaushyzjt9tu82tfhkl53ll8xrlzxynjc9ludr6tdre74h688sqqymzju3cvzc453m8cgfq7ex43p2nrp6py6vpsfca2zue2fr6gknpyv5m0zlk5x6vlmlyzlw4qxgcp39wpr7uw5hxc3m794zgmel5cheesujku7v8u25tnty8z7z7czshqqqqausnkv + verified: true + status: rejected + errors: "" + warnings: "" + - execution: + transitions: + - id: au1a2leejxweztp26wle5ppu4d38g7cy834qyjg68nde5sztyvkwy9sn3s0zp + program: metadata.aleo + function: is_network_id + inputs: + - type: private + id: 1668253572722249004754550111746806543734709237973262206564980341309666489114field + value: ciphertext1qyqrya4v7lv7j5gpldaneyaj3hpl79n9nawlt085kunwlqm2s2a2kqsg9c3l3 + outputs: + - type: future + id: 1539677279749963537807733780953347200083489102040081905411697663081843666141field + value: "{\n program_id: metadata.aleo,\n function_name: is_network_id,\n arguments: [\n 0u16\n ]\n}" + tpk: 1340232995313789889707870100633828614952994697713322419253213356280424596637group + tcm: 8217955983468310915175130532526952797051163869431616512626964240444177287740field + scm: 5286852775688099827771180960665525889691546224120923411174520720536024854359field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqq09e76wddnurkycfduqt5jj7hafhxxdsl8k3dsgz5s99859gwg0tkvxg56hdy0puu48hxvkfzgxagqqyxwv9q32sm0hdewcfr5qvdfawq7cdld64haa8k4mh4nhl3wv99g9jrnar265pw0zvmza2sj4dzedq8dzke0lexr5xaypug5dg9qt2ptc9s63dcfl42vq33ncwjaeudetyfwxdvpyq6fwv3lchath3lgd5qunj6zpxtmf6jpjt5yzl9l606eycun3madcsah50zamp94a6ykvnyt4pavlwtazkyp75u72pzy2tsqk2wxv2cwa8rxjpsvnts5dsl2a93l9ejmxxmvqgsdmm92h44hyaqw2uw9xh9c7qcf98pvp2tqck3cpdrmd3puahfpn4vv4e4hpnnj5yzv2wg4jes9cpttx3gpatme3tzdttp0mdjsqtye2tz3lkmcwhufs9ffg7nne7wnh8e2tr5gujevpr0g4gyxp4jejt89k0rry0ah9p3suu0guekf8q2zrjhz99hr6j946qrqyh4w4xe97p0ac0635q6q5m6xutdz3t53harjr5tukqgvt9r0n36y0ek2eg0cfq4sdzm8q4452vqxkmmc23v8x47jxn7ky2hx0gdsnrqc9pwuhap8rtr0dqjskwl2nata0we62lkue6z84akr9v8d8svqjusjyxcevyte989pafx23m0jt2hg94pl28k4uj4fnwnqgq4j4580a99ndkyrhym3kh3uwdufymy8879kxfqtm43v84jlnaqm6qhk6q7p4frl3t22zgrt6sfkf5hlvcypljdhfxczx5h9vggk0pwxjgatpdc4f5yav85sxwy9fyfjq0z77zkxzruhetyk80d3v72efr3ycscqsvzfy4p0mh64wz2mhtzcj9wr83tevaag5t0975zs0hfupxnqylqflpgdg6cfu6ylxhp7w4xvwwnwac24n2cfnvk5pnsmyeut8n4fwq9cj36wsu7faag77epqcw6dkzsvc0cv9lvkj5xnc0u53v3kjsm65pjd557l0pyudch4646fkz45vsqy8xz7dcg86aqdgcv6q3mv6etpzrs0dxtcnz7uapehary54unwk8p9f57pz2ywvx8wjf7qs2rjtpzsca98hjwu9uuyhyw45zzy59vn7xn385ml7q2k9yuw27kqpeznm7q9qvqqqqqqqqqqpucfrq24alwu3lv7k8srg7ht00vus65afdl4dqxeqgsw45epn2tnjv7slu828djrs0hzfhge4xpkqqq275wp5guxrxjc7rpfu8mkk9wz0k7qsy7fz2nglfkjv83u6clxq73v5z6782er0zvd2ektcj844fgqq9tg36fyg8ypra2xq9an4gafntkq048le295xwaksepvlhgahypqtdrtu0mxrxhpmmvlzuy5d477k3ddncn42yk64wyl66nxd3ps8vv5teylrzsrf7gkgfx8h957g4m7syqqhlhwmj + verified: true + status: accepted + errors: "" + warnings: "" + - execution: + transitions: + - id: au1p6dnfh03zklzzs9geuav7wv7setuzqdutchu5y3v2mextejcquzqkqwrsm + program: metadata.aleo + function: is_network_id + inputs: + - type: private + id: 2502240154805122913754950482164060205713010124319839564435072682062878840162field + value: ciphertext1qyqxt75s26szy43jyfepy39w4d73djcs3m5zy32d3x97pzq4tz6yvrc6krhwf + outputs: + - type: future + id: 3510883460457420092377029532012709622763897279943796296090819877739355135729field + value: "{\n program_id: metadata.aleo,\n function_name: is_network_id,\n arguments: [\n 1u16\n ]\n}" + tpk: 1241422812750809040633541710935659167182171861372164882434451533657783900235group + tcm: 5101387774266692927046996997659568586960496233365914098412457384845133261795field + scm: 2058887597321544003446839824871525583138282285522439768552503536778673854175field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqw2mpt4vp2kdrt6z0lryx0e32t9ngsldqzumnu08u7wak3csj55e7qnnfa4sv5wh2a2w9g6x0xttgqq9wlv87swn8kyk4durjwzdxlmtuj8tdu5nvmvxm26ddv6f3v77dqxhkqma5pa2z993zl5k4m4mlgaqvaadfpuceedmfclvru99al2wma6dtqrq8hll8x2fepflwght6h3a893exxs2kcvuqd9yv7exxpf2qlu90ssgywlpl3yaqdqj92a2n7dhwmt6mugs2vvc0g82x4lvv53yfcpnjpu6h6096hxvcwx6uenlcqnccvpkjlphettnkp4kl0m2zhnwsd29d2vv9lmrs7q3xwph4auz5ndxm4u7jk24kcum7f36lykrhsp7d0ezu2550s5spm4ngxq0alhyea9rj02apntqszclhq2mdnddm8pjg7mdzxfd90ypswy82tz456qx8esjhvf7mczznfagsdhmm4w3ks3jv86qunvdp2evtsn7zzfw54jxsnv7h40jvqlqdt2y6cg4gemq0ack7zd4cswrg825s6ekuh03pj0nnue0zexfkd5q6mrqfwwgc6vsv6z0dqwcm0k7p23fp92sekwvq60xcf6f4ukhazzpq65kxj2ydk790td9ea03xpdu287gxmax376ranc08vmy6sm2g5m9x5j45y59vpm7u0y0gxnnhw75mzq5cwqq3uyg5ah3j9ma6f7gxl9nc0rmnxwcqey0uz5hcksuj0vye0hua3yylnpf452syphap27d988a3f2r2gkqqs69pj7vp4pf364v4rjn54f3hu9lyg2e895ka28m7fp6cm0zmeq86svehealsspweg6vtl9dvr4d6cpp0fvfr3pllx4hrfdnr7jh5sfdy6rwemk9y990nfn5uu9mlyvlzs3thd8aywmwzpezkzdnvkx3gxt5m0940ffg3wfsll2akg2dxv90ct335nk47ucvenmlmzudq77ypq82f3yr9x92tmt5mfh5xpg55c099ujm0ycqtz3r8q58ynakdnkyvxgf8s43ce54qr955q44n2rsvnlhd7cs3r728agmxc0sencdldpyx36hypekceg8p0qwhh2yjcfyd5e92v50lgh46lpna7gemkhwsqpsga7dyuaxduf4ze57dqk582clp88m8sud60mz8wckck6uqj56cwqvqqqqqqqqqqpmqg85894svzenmckslpej8fe0q8taszeh37cvs6fswnguypddfew4wuwdfz7hucesl4czp7ckfzsyq88kaun7e2r9hff74tmj84jjaxv385s57nw2hddeekanq653k6xu37w93y50mqhn02y0eaq5sc9qspq8mjtdrx7cskcwpwvulfw96yhds3smrgjh3qz0w0h0xk5qead6xqequ37nnunjglfpwauyg52xy0f7a85sc970mwg53aa7a0r3uhkh4ts672peqc07ykj52h86zn9dmesyqqfd8ktz + verified: true + status: rejected + errors: "" + warnings: "" + - execution: + transitions: + - id: au1jll9jpzf2280nvn3kzt8y6637n5ez8pa0fyg0v8qpz4dn42sdsgszgyfd8 + program: metadata.aleo + function: is_network_id + inputs: + - type: private + id: 3818594322984197536201841623343353965535635040024778735947422566750518631238field + value: ciphertext1qyqdhlds6hmnj75076e8rp439d2w0kkhlehqwpxyna4ermue25k77pc7vd0t8 + outputs: + - type: future + id: 7537178816451179749955293921141073144829691758346850600262417117569051950256field + value: "{\n program_id: metadata.aleo,\n function_name: is_network_id,\n arguments: [\n 2u16\n ]\n}" + tpk: 3020628155079738676029341956864028183556220726126818119892843813515945814634group + tcm: 5092678026348501787479712092206654928057371516556014317181185415850075250455field + scm: 6698525472848186851972463463758579475375335023496196068921682192475550867475field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqdw66a0r389tve06r3hfuadzhcerz9maumqm53zyyvly9vh8n89l76syecwfvft3jpzepnj9znn0gqq9rjtyudv2826svlgz7wg2q98z80jg6utafa8a826munh5k772hdtmq57e7p5gc57n8q6m0j5ghy7qrmpr2sqhgfydnxw3esncpryz6d4l68y6kjdjr887gmma28s4253wllq796avhhthnv962h2jejtyqderr37zt3pkzexdmxhnjtpgeymn86s0mr87jfn0jfr3dxepc8yr8l27tws4dl65aema34mnxdrzspx3adzxl6vzffaceuhe574u9aptx86e9xkkay2qdg46vf7qykwehaqfkx7ync5dw0rg3gp53fxu7sqgdf8ntq2lehfj0w890n7hmqtda79xjhw5mgrqx6p82ff9f8v6xwrthu0rsgycxzz9nkzwuseez0sqmjqkenlm93cmqnnzp388kkh5rne27prhj2zmshe2xmtn3mvz7c4mu2x5yp9z3k7ksmtvj2ekcfzqfs5jy6z4pvk7p9h6q0lx59ry3m3dfv0hwvfdw6r5g37n8aau687f9ex4tv3787v92zatsl3sg8nqq7y6ullw7eg45ygg6cx3cc7unqp3jdgswp7yepjr3r8nhdgxskuvv8ewkcng0aq98aqf40z0w93fsqzh343luxdrlwd3ugz0xpyf26m4yx38h60pvrawp6gst0zuvkzcq2dscf42dg3t5qxuskvjncd6e6uzlt2nfu06s6tyhq8c2yr578kqmmqpnfj3kt6q5rhctdpgf0h32fwckzhv3y45fxw38p4envheptq2elwgjewcgjevcr8svwtd6zrmzemjrwl8g7l64a39yz6e22kn3sjqa7wfk4md4jeh0fp5wyyl5n0537qttvuzpaqqc07dtw00cj0kq32xxcuxwagrhq054kd9q0kfn4atgw05cn750yg0y5mdtlfk2ufgqw9epe4a877mm3wnezctnxvzwz00vsjlrktlevefyqxuyzl7hw2pzvh8nxc727haul228ll2h379trd6778lpfl28q0dfv8r3dudt4qmpdnse7vtc9cre96k8vkp2wk6mkzgsp2paruf0sfzxn3tn3gqrsxu3q5e6ttfa3z36t7xz76fq4v79d0t78euu775eyn20sd7mwzyc8qvqqqqqqqqqqqp6q072lqns9g6fve53lfc7tqvmly2wp7rvzyefvsy9zn9t2f8espt3ucaud8d88w454ht2vfrg0qqqylkclqswxj0wn830heygjy3qdl5qvjycddttke3gh9y2wlvvsv0trngx8wmmh6fjzac7dgusa5vgqqxgdada0y88jjhzgh5wr3prhqr72jrwd7t8ll5f7ne765m65y6nq3ufguxmap9javwg33yfl7vdhfcx0y295rfjm90tujr2klhysh5lh63069er00h3t8wksdnpq0ze5qqqqqc3q64 + verified: true + status: rejected + errors: "" + warnings: "" + - execution: + transitions: + - id: au1v7d5emm5qv92eulwzug07zef3jtulz0wtx327sgneuxwwq2n3ygqff5xtv + program: metadata.aleo + function: is_network_id + inputs: + - type: private + id: 427388127841120656445243905080318759102213861603935015273048542880171276770field + value: ciphertext1qyqvszj42vuw5mrh26jse5x6x9nr4shv4t7spvjy93586dyksftaczsj2mmc5 + outputs: + - type: future + id: 2214372592663363501000356836064875093257329610279266518247128855554701148078field + value: "{\n program_id: metadata.aleo,\n function_name: is_network_id,\n arguments: [\n 3u16\n ]\n}" + tpk: 5166995774473884857353890834507697003252798886819763885458919875879302699010group + tcm: 2857269466509252429260393571916264430248634027864154552164266119325455448664field + scm: 5015898762287590171698086886227097532893513313055100890056714442595417776693field + global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqxjnzalspm3ge54g3u64k46ajew68hfgjrvw4rwpq5uv8yvlzn092gzfpw9d4zww8cq85uteu2cpsqqy8qrgcldyw90hrcgefx0hf5wzrrl0z4e3la75xlmrvykh9nxzqu7jpwv3p5mqwjegz0mhphx4eynqxpl02fsw9ttvfnrdgeylj8tnezkpj62wyks49q0dmzkxld8l2h8x6ycxx4cd0aedlhgj7t2pa6g5qwldagqet4gdrtm4jrj8alfutly5kklcs8c57dnc3n8v0p5e942maln69mv9qzyh5cypkkpvhw3zvqmp6u7qvehd6m5hqa6kzynyvr03x597ydckuex89plhtcj60fxypkdcegpgsd4kh5pknhvyjtqpusqv5z9jx20yaae740gnjhwad78ujmsjz3qrt2mf82kg4qh8s57pzff20ekcv5qy7vlmq4qt40el8aqqtgkjvlcdwhzhs8md3d8wz5jw2w0fkmdwa2qu5rz6penct0hfjucyq4626hlvhtrhpfsg53lc483qr09t69t5gk2t3k46z3dzsul85vkc77fturpr3rjd9lwlg5dr8h7m808uucvm9xvhkfugdd3vpul7q9eeug3cqz3g39y445vvrssn3nrdsl6xm6t660wxe368ne60nwsf93z6ydynjjkz0qr56d36xq5pgqz895z3aep3u06exfc3m2d24yewfmvzzcnlf8mcekge0q3fd49qq4czy6drge0fggv58hcyhdk8l2c77sxk4qt9k2klfukepnrjg76zttljvan85k87e2utgn6t7p20y6zs8r6x3v85p72q954agcdhuxp8cpgyt3ahunyluulat3qxeggcsjy87mda4uzf3ffs8n4w5usszq6mjf4qpsgjf5g8cum9vv4zl5pz8jwzzqpqczgdh9fwnvrtnlnhgv65xpekee7djetwtcevxxmm97pgtjtk0yuesjnr2swg4890k6rgptu20jkc0wuw8a3kfvl9anlngf3krmctjlwyw5k93aq9amum3rczet800tch2ngx0ay29hdrnkfdpa6hj0xegx35fa4np69ug800j2qp6t87r59zmfhnst7qdsf0ej46dcupnt7jcfazjyvxwnwype6p7qrs0p0fj38zkamm5y4fl8uvejl2pmh6nqjnkqf72vlepx3uans8s9qvqqqqqqqqqqp28js6ex4tk2ds9txma659n6rexsj7acgh6k8z95jgc6r3lc839ufjmf6ftk8h6p6xddnuf5h5r3syq9az5k7yml7wvuu2ukrmgwfz4qym075nz2pdqn3wwl4ukyhyuk7qy3e2su75wyfg26t7vwxtuzwtgqq86crh5xvpt730q448vpc9fwjwmauzu80fx44nmrrq992pjh479q8xmdral0gm45xdfej7sh65eqtuen2pvdnqwxhvxzurcuq5jznlt5fx06v43a0tp2wwlek3xycmdlqqqq2kj9ar + verified: true + status: rejected + errors: "" + warnings: "" diff --git a/tests/tests/execution/metadata.leo b/tests/tests/execution/metadata.leo new file mode 100644 index 0000000000..d6224d2ead --- /dev/null +++ b/tests/tests/execution/metadata.leo @@ -0,0 +1,49 @@ +/* +namespace: Execute +expectation: Pass +cases: + - program: metadata.aleo + function: is_block_height + input: ["0u32"] + - program: metadata.aleo + function: is_block_height + input: ["1u32"] + - program: metadata.aleo + function: is_block_height + input: ["2u32"] + - program: metadata.aleo + function: is_block_height + input: ["3u32"] + - program: metadata.aleo + function: is_network_id + input: ["0u16"] + - program: metadata.aleo + function: is_network_id + input: ["1u16"] + - program: metadata.aleo + function: is_network_id + input: ["2u16"] + - program: metadata.aleo + function: is_network_id + input: ["3u16"] +*/ + + +program metadata.aleo { + + async transition is_block_height(block_height: u32) -> Future { + return finalize_is_block_height(block_height); + } + + async function finalize_is_block_height(block_height: u32) { + assert_eq(block_height, block.height); + } + + async transition is_network_id(network_id: u16) -> Future { + return finalize_is_network_id(network_id); + } + + async function finalize_is_network_id(network_id: u16) { + assert_eq(network_id, network.id); + } +} From 37d0b0e3675bbfaac2c555b683033333820eda4e Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Tue, 30 Apr 2024 12:01:16 -0700 Subject: [PATCH 10/15] Change block height expectations so that execution test passes --- tests/expectations/execution/metadata.out | 54 +++++++++++------------ tests/tests/execution/metadata.leo | 12 ++--- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/tests/expectations/execution/metadata.out b/tests/expectations/execution/metadata.out index e4f20cc1f4..85f4f5f4d8 100644 --- a/tests/expectations/execution/metadata.out +++ b/tests/expectations/execution/metadata.out @@ -19,88 +19,88 @@ outputs: execute: - execution: transitions: - - id: au196vk6tpj7cgyp0dvfm2c8009z89q8ch5376t0qavp87msv39wcqsucuvus + - id: au1mdg84h5sf70jd3jcz5ly6v7d2d65jthy2c9mp00ftsd7d7wasq9sywmyl4 program: metadata.aleo function: is_block_height inputs: - type: private - id: 1828886139934070702847867954511879816884750762363092521533208865235753727566field - value: ciphertext1qyqg8xn27x3ukujrthuh67jazc3h5v96hhc7zacwef08y7a9lpu92pqpf7jp8 + id: 6254483773873152836214079053344956162296914127394184523955489854019104782235field + value: ciphertext1qyqg8xn2lx3ukujrthuh67jazc3h5v96hhc7zacwef08y7a9lpu92pq3dsj78 outputs: - type: future - id: 5457953770891457596513693104617313278374925684406320053944467986971462340947field - value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 0u32\n ]\n}" + id: 3584812567307540139221803946418691936915110293757497103263084678323624798088field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 2u32\n ]\n}" tpk: 4174266389141840694112770464623549736508472115786023137592436699114609405528group tcm: 8338099097402671626408038034858578087638496090147697571937791628404909729345field scm: 1980270338266624580494901677581519840423416572710948745278059423752506827747field global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu - proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqtxu2hrjlkjsvwn6de72q34lqmtstr69ahhjy0mlc5jujj4zxhkzncpd8tl6y2nrx5fuxnmpd9ej5qqylhezq3dmrqm3cm4tawnuznt5gc2fv8psgvswzavf79my3t8ahzhj9x5epa9k6s9vznyh8mp4qsnqgz2jsuc23szktw2ckx5jn4sqde76qaxp5ngwxssv407kqa659cg4mxc7f8yhzexrkc6mzwslrjj6qeza4qy2hrdrtp2884x55jq3j8tfcllhcne2k55dq2wyckw7zyd23c9uv8a4gdtvczsy76ef4vf2sq5eat9urj0u52f2zgeqrl7kcq3vj6wvzgrl7xv4fdffy3tmvu547uj766lkfm4my98wa4dg8tdtagpcsrzxy8fuktmgsxu8jztldkcm05enzvyhg5n6qfnc3v97hdzdkaruhdm4gy99rhcy8q6alfzwk5srqzylx6l6a7lpsjpmkkfj6pg0j479shgcl469r7tglt4dkr3mc4hhdw7rya8cr4wekr8raftqweqq948a5nw9x8krz7hfux8y52p6jq56r87dcc2a2n8dxnunpeeg7rlem45ft9v7cvdsx2r79c2uvq3sq66kh0z9xaa6yf7l40vzeqkrjhpwau0jms575gw7z8r0y5572rflkdu0p6zwshn7c5fhexjyxg60gp44fp0zwc6x8pjan4hgxsw28l3ev9raz02ljcehpkefwtnvs6sqz8qykyeneq9kk5kxydlng76qjjy5zk6tgkmgtr0ua76e5hpxrevz3uyml43y3w4p6vez9xpne8cvq25mnqu6tyg9v3h6g95xhq2p9zz2ekpxk2xk7hh5zkk8anuar8m5ph08vdzkg2290uw8l8a05hn57p9xcj4kmpn2hp0ckfsysugukry3hlul49j5xlr4s4z3kzykn6mzqvz3lg8fnlrx69yeywp47mk7xm8z4wuasxkjatseeut4lkdsda0yy5vsuqpyalet83e70xhmpfpzejlqq93fftq3jdgrp2pl46myhyxpmjwvna56km2486cx4npl9fthutud6adgud60azx067hu7rfd36p7esvlz2sw609dhmprjhgxxfa9jk78wuf67vnq46zsu092unjnpppyvqlu8qg2euhj2ccgqyt4xz7wnem2j8supprfeuhst3zt5le3qdqvqqqqqqqqqqqhds93teyttdchawkeg3er480yf2gmgwmps5n4sepqvyvc7jz6ujhla7h6tw9ucnyk0p5c9gjggssyq2h0zlh5sqgwkutfehr4usqqlrjax6j2xh28e2zc9rjx8tvzc97ve2tzw0sq78zdvlx6ck3akpqxvpqywtdg5mncgw5ulhc06y3pmnfnqyl7v2qs9eve80m5n3rt4yc7qqy5culrh39czv8yujx9xfyvq0wh3pl7f5sq2fca38mqxdt5qmk475xvsthnundq3vultnrh7wcjygqyqq0hrrhd + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqwnt9kc7w5mlsy92749ly00s3d8aje529f6qrun8ra8utk7dse49ezfwj8erxuclwetdthkz20z9uqqylhezq3dmrqm3cm4tawnuznt5gc2fv8psgvswzavf79my3t8ahzhj9x5epa9k6s9vznyh8mp4qsnqg8n8aza9sfw3kryelnz8k0p7sx375kzu754wlhy3k5rdq3vz0gnxs0dh0pcz5nchj72ug77suxnxqe20ln5arx2lrvykq6ela5tfzajjew2jmr2e2nfjzafrt3alsplf2llm62deuq02xa4406r5heqhvpp30p46fjt7u7xc3mhv6j65l5cdnmuxzu9d9ngewapqs3d4ad9jpq42ltsmdt9gtv8utv9hqywe4gp9jw4dsapm4nlmeu02hhn6tj44065j5k6l3lrjksmhfletr6kvu92usrlgqdwvhnv87g36afl7hcsrwepsc8nlepqngw2q4r3kpyq20avfgrnft528axwr7e9jjr66dmt63ylatjvh65rc69uqz3nkvemqtqlzescl08dx3xjy36a5u7x89vh5vjkvkpfz5edep3av8f2p37f7d9vjnq3zfrn3p85zx7gjyqg7qyqrqh5hg70a7klgy5eq0vrth7pz7e7g8t57pkju5k9z6xwexvg4uz2svry0mk7latuz3z6ynyc9cprfmcjkjwmezs4vl7w3kk4hlhumkzm2v3jvzqahx2m9e86p557c8pjtudkgd499geem5jf5u9qxuz5mcpdvegqm43x4dn6uyrdzjmzz6mgcadv0y0gced4dh20t757kgms6u45ma5kezmc6ghf9n538arp076gjrkp9y7lggntqr2v8aqvpuyw7szd0f9d8hrlsyff6re23xpp288aeadrh8lwqdjkpgwhdv95vn8araf5t8tgrtm22w8r7turzcqtyllzl8s9cfeczzst6ec4narg7da76fcq5neycd6slgx68g63yyv6g63ae9m7ztepxvxw4852aadryfy49zemrzhqquypkaehrf66qwwjhf3gwnm5aamtv79v4zeps0xf5urc5cw8xlaltapg0pm54kjplc3udlz587zkd82qzj7vlzljeup57t4hggmafzf303yx8l3ypvq25cvm4jfympct84an2f7q53pqymcgzgxwln29ga909uhv2c6nss0qvqqqqqqqqqqq4ydt9dssx08jcecc7lpc8x4npzm45nzx4gjeepzltl42xqtu6ljaegs3vmkyp9gmcxejarwucjysyq9gjdqfq9ugcxqc2dlwxzhgw6ltxctn0gva6m6hz9a5lm8la0fm2nctmj3kksdal53ktu3wffgmfypq9sp749hfxy8wvdnsagqs4w3hxr83qkpdacm92er3htljzqz4yzss8valjgymcql5xm5uqxwuar3549jrkl577ww5mxvxarkcs97jpulpht09q6w4axjxj254ezzahy4sqqq7sy9wf verified: true - status: rejected + status: accepted errors: "" warnings: "" - execution: transitions: - - id: au1r352lhvujpnjs6dsv7zxjlesddm6mdzwl2579vglc9d0jf5zd5rq5ceuj5 + - id: au1kajlhp3am5km6qs3w8turpajy92jll8h5du8xahl38lrju42ryqscpf7qs program: metadata.aleo function: is_block_height inputs: - type: private - id: 4286956730291478172967552406966020510655589486973029992023461375203373137580field - value: ciphertext1qyqf8p8u0l6w5w7nmsquncjs36gjxeaxpkkuvl4h6jfqntenutrykrglqqg0t + id: 7722322839839951421026301806812591976215758329272280293651204384239373811149field + value: ciphertext1qyqf8p8usl6w5w7nmsquncjs36gjxeaxpkkuvl4h6jfqntenutrykrgr87gjt outputs: - type: future - id: 2385412319407656831158957518021928306540861142632415702983135495782059153176field - value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 1u32\n ]\n}" + id: 3909450722149817926760252005945160002086204331713328859672090569802582231538field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 3u32\n ]\n}" tpk: 6826075503536703408877015806866676888464978285285642759889480649615825407885group tcm: 2184261592989300536746165496548115475812152687244578178115561569274734999038field scm: 407281751932047584685189018244827210538163428192377398266270897182443379767field global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu - proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqq94afhc7cpuy4kjcl8j5cndyxajsp37895s58fsx8qyh7yr7qtnz0mca7um7n8scq7hhurkxe976upq9na6qs3klshmquwdhuja5z67tvxswtmytsceyqtsd3vqk227suywajtjjef694w8c6df4my4mjjqqrwjvf90ea6e3veg27rhme0n49hlfjxnd607y2p8jm2zj20mr3yndf5n0yunz7mh5tk3tf8syxescqvx7s5cnzky2leuqcg7ytmdl60uchgx3l96kelcr3gznjsql9mv8w4aez7vv0d2e982xun3agnwaup3dleeqaacr9p0m5vac0xly4wqrm73hfsgfsjcq5dph49v66mw2s0kptpvcl4en27sgcnpmc48e3sqmjaevd4g02h67vsx79yn85nm5h8h3mlhegal2xz0x5984qg3qaqpjweckp98naxnj8j0mwm9ty7qy7vt2qr9nuazvhlx9qwss5y3spsmafcq3c28gva5ls0h93r7zt6nv5zf7gtv9ekqrjt95cnh67m0qx0mmt033dr286st0cpp6exmff4cn77w04q8dc29cyhrzppgd3xspy7007mnpac8ywgh3nvq7r6csq9x7rdl74vevz7fg70fn2dxq563vfwq0uewrn09xlwu5h5ehjjn7paszqnvngkuyxfdwl8ypgpzp5p6lfws7m482q65y2wn2u40vatf9f5scnak7aecd6eqwhurzyusyrykxtdswtvyxacvpn5hspww5vw8uptpgy9w248hedgevm02se4ypur94w4ed3ap6xudtvekyyca39fnctsnh2fq7d85quv4yj34m09q0afddnt3nq4vcn3f0j5pq36s9dp90he9r3za4n0nymlppwtgpfqd2qy0d7xud83g058t3c3de0taqfxs7s3pvfxx793jfrkessskmqwlfelj0j2h820wxcjc2y93jj7dfyg2hng6tfwsg4pc2yld9dldgxzc5myqcjltls94lpf7zz40ztq80xj8w2ftc4sp5vs8le375efqpj627jm6qpz83dfmu8z030lwez6jek3mp3qvvc3drpwke6dsm9cp7a9gzrqrc5yqhsqa9v8f7tf3rlgxk03rvn5m5rhgwnf8tp7kj7qcmr0w6ffru7q36qtyg9lqk4amw3khapt7xmfw6m29kckjnww0kg9qvqqqqqqqqqqpek7f7tm8j3x7knxqath3pjg7gcdgmhxk2vhnqgfs3mdmm0dx5d2fx0u9n4z6gqgf5crhwn69g98syq806fm00fg3nwdyeuhlkm8ee49jf5ehmwjxp4wlp3yd4h6hnldgvkpl990923xjuwqd6dwdmryyaypq90y0td3upv5rx3r6u4xsvelryf5nfetp6mnn6qva36d62ucafaszj3729t8lck995c3g6fhqw3rwvu3vdnmzdg8wpthglcc9cae2lt93pjndujzvq33kvj7ezerdpprqyqqnru28k + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqx7vnw2caxnpn2mxquhz760v6g2ncehepcdlg7y8hsdp9f8thtz6e7xs4yfddcy7w8969xlhufx7spq9na6qs3klshmquwdhuja5z67tvxswtmytsceyqtsd3vqk227suywajtjjef694w8c6df4my4mjjqqrwvyaz8vxtqekmn2uvdw59l6eqfa95s45fnfkgllz73xv4armyrweal4g6ctfqphecew3g5evzauqy0epstlxvstdukgynsr9c80202ywk22aztjncctlljzv6dp9k4kjjafsswjnhp0x3pw38md5dr9vqkucck0925lwlf930jd0963d368wuh43qtwvstzu45lnpx7ltsq42dr42nteu7le72xyhtfyryt3sqlpnn2n5gz9ke4extnay75kytrq6e0qfysllv9qpd5grq9pq2wppdxs438g6zjysmj4zkwp58wmrsqn3de3ge33m9yduj5cu3j8qazthdkfy7uqppxpym43wnsk2536q6fer0tghyutavchmmatm94jfaqvqvcr06hcy70zcfz0kgjvxs6rt9ncs4c887uhgnwxdmvxspz2vyzvnxzxn5jn3e3medrutlwfpyzq2a2qxs2f0e020auqsp7gujuzk8cl56rvqqytq56pxyec90nwqkk3vfhafuz4wlqx583fuwsxyh75qfl8q4cchgedng7gd8ju6u8a9s8xstd2gjznxc5rcaeule3qeeyr05rtyj8zhxwvgh08r2wfnkpjerwpl33lj7mvehm2vjhqf7akaqrse392u0v9hfrrp9954hwzhqe35e7z44exkexr5zlth7wf7a5nkqdqcq5e4q5a2u8894j0fnfjrk80g864fgrv3ttu4zleplw89575qzp8s8jkflf7ncjqzy806tef5sxavkfdrl385tza80cjegd6609gjdrf9mjyhvj5hxm2rhgsslsavmpxtt0f34q32nk9lln3t7ljmayrltqz8etsxfzsslyre8usx2emndkxtxpdpfrms0y5x9fsf69kg5zyu54r2vezw949pyzdyfzaqh8v2t0rpxltgd2unttd80k26kacdqc6zvf36pqztqx9w3df2964uq976ar9jfyjrdke0e73mzfvwezuqvvul6v0nk9cpln9nxdxadvpdre4ct9cdm2wqvytzm5ny3xv2hdcrqvqqqqqqqqqqpejt6mlphm76wza29mm0pys6uxwf82mqcatm3yu9zkraqujm0yymgpxcuttq3f8680jrdznavlfvqqqwj9g9hx3qyfevvu3y3xjmn6vtpek0sfwyaqdjre4lgu833k40aeqq07xrecaj6a2whft3rc97y3qpqy25r7zgfr0kq2jmk73vxsumypw09rg4qqdaxftyfn3hlpm6fuasmtkmtfq87ewhy0ggvjvgq6fjjeszsmchmuqqy7rz3w9rnjeepzj5w96wk9g2ffpktzwcvgn6pqgvqyqqxp7l8u verified: true - status: rejected + status: accepted errors: "" warnings: "" - execution: transitions: - - id: au13zslsaxttpvsgtmcmrw73x03k2lmuq4p2fvhjak42qwdm02jrs9qxssdm7 + - id: au1f247mhakw2ac486n8shjpe9cczyevyyy6yfahku5rfehjh99uv9sh642wk program: metadata.aleo function: is_block_height inputs: - type: private - id: 8211778640811586469327625094750393673294867466010064667391066202117864355889field - value: ciphertext1qyqrkdwenqpgp7vqqv5tvnt7nvumr5w553pq5lwjntjeuavh3re7cqq0u2w79 + id: 3045860458496390867694070088198301599250184717892350776505560963236032378259field + value: ciphertext1qyqrkdwe5qpgp7vqqv5tvnt7nvumr5w553pq5lwjntjeuavh3re7cqqyqfw39 outputs: - type: future - id: 2644113075717811263567925485017682536194868718759129046632116666842982336474field - value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 2u32\n ]\n}" + id: 3385728006652327570493585525511743343760587719990357436071125793263092737280field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 4u32\n ]\n}" tpk: 5961719084867262658611365638360766420582791439974047595680459060088949753734group tcm: 6626624319880809262391967868024871859050942736550513386256577389697770634318field scm: 1709184858721614245415770013947709782814544370016004415745981136924726103130field global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu - proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqvy8y0kv6jtl5hvetkc3vudc0nlnk85vjf9u3sw69d0n7n8urttcef2z97nyeutwrvrhajftc5ewqqq880k0f7kg9mhl9f3nqerjwsv28v57anx2qcvxqsndd0wuhldwwh5cj0cj2rm24vk40u5le0gkz8qqx026a4utrczjdshfhapv9uxjwm7rf5yfcjcs97rhqg6n0fdvl63yza57kv6n08wnyyqe73gaxs0xq3h3mnefw43gn59uzcz2kctjjgwlvfw2a853kds7ut0q34pyjlfj7rqwf5gct8ggtkvjcm5uyckwspz5vy4fqclmehcqfycgzt52ha5evv6sdjcvwcytk830k3jkqptuf9fjqqyp96wrat360dcut23pmcqwqg0kwxz6n98dww8zavmj6uyde4mfn0tz920zaqdcyx8veatxfgsku6gm2qh7qwyx0zlyp5mzzws9jmhkk8hj2stnyj5x50ypg7hvcl7lml7dzrdut26vjvpc86c555hhj4mat4s07dn8m4a3lerxs99qplm0zqwdzv0yff2uaqqjg3fvqg5wpzdxeskm052g20qxm98jzqkhqghu427hc5r4z6263d9m39n6qh477zemljmur7ad0jqrqcx8rvwyhthhrzgxmsavs6wkyxupv392u6u0w3lr8craa9zmrxy04p6esqp5v0z0a849g3yzgwkf439rqfuu3ytme7026wlyaq23zpfzvg559mjr7hym0l333xuwvynkgy3smg60p5v6aumttxe7cku8skja5gzr6q2jtl9t9e5gp6k928zp9pprmehjllv57mzmal7p8n385kt5s7qwy6tkwtgpcxlkm6zxtkqmc584h7dhxt6hrg9ahq3nwzu5u5d3tsl2xgjzs6wsm5d6jaf8xj5wlhcxdja0au06gt25fgn54r5u4d9ugvhktpstu4vhw9kwxf7u284df8ethqwwckjedvkzm83hdvwacjn5q4ye2fcdru97tq0vz3g2tcjuljgdvtlkdqj4zjn72d3tptyclzuydxdc6vdrq436pfn5mhskqerm20w02c8n5yqqhjxep62sqk4x9fzfxcd2k3pd9e3txfz8jh0xhnmzyajxwyvvhkmvd6ffhu943evk7q4neae0r3pgj0l6xfrsygxgpuu0w2m386qn6ptd9mdswnchvqe4gyqvqqqqqqqqqqpts0qkdkj8akq5zvd8ue852qg6z2agmctk7q9ptevs5k72hr7xt3g5n97sxa6w289lu45mzdm4atqyq8jtxcyd23u4n850ne3nt7k27szqwelnt93w8qwkmcr3kzsgmeqlkutm0c9n3zmdgcc59eyu4nytgpq8yntau9uvct50r3e9mjwknc0ladxmdyhhrrp3g6j3tt85h6z5xqaw2523mchx35lmfcgvarfhcc0lc4n48z8n2fg69244npddgqnhrluudxfl2lekecevc2qeaa4nn4qyqq3eqlel + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqqevkrn0qlq2nquvu6xc43jqgdpl8rfpk4hnzugwch6qraag292tzkar3vlp0q5wl088t25txgrdqqq880k0f7kg9mhl9f3nqerjwsv28v57anx2qcvxqsndd0wuhldwwh5cj0cj2rm24vk40u5le0gkz8qqqc3339959e6xz768zwvu9mcp4ruv8mhd3twdxzyqur768fwmngazy33dqadrc2un9v3z206fmtf2qj6jd6txax9pe75jasd0xf49u32r9ran9n2q7lyachszqnm2uf6dvyrwgvg4xshtv2jjsnv4v6cqvp2u0k8hwv4n5df6rhz9p6ehjfkuggfvthfuukr2ex95wfyf4gasfky576q284q9jgl7naf3253t2qpnwfj0jeme7xhegaw9r3lywgpa5fp9qsx9m96n5865l90v9sumwquk9t6stse5dw845rtknud0skq89qgza5mkn0fdgzhrprrxjz0f62vstvq25kfy2e7lgzs9pk2ujkkathgv024g7vezmzvczggmwc0qdjpg4ddmzwx2k5fe353lhmcjpupfuazj6w80hj37pt64wjswz0f8cug8n8rfux76xtc5lkxw4cjjqazwsrafxyfp7pxjj42l4rn6uauujkx8qk79y0dp4830j9893kz8thz250jsag662869k83g8p06uqx9f5tlpfcwg8pat5y98dqvmm4lqu3htzhxd0y0gzzk902nc49vqyyl669c37zp7umpquj08vu7z0sesrv0cwmy3c7fytp23zh47pcrl4nsn6kxv9qe92hujj3vz8k548zdkkk4d8z5k5p0qtp69p4mq2zg2qeq52j6a6l9nu2qnmj78zhk85k7r6nl9lgearrqv9y9nvf96qcj3lsq7er983rvlsw2ykjclhj6dsxc3dg8j3k0vs584rjn9986cdd7t6rr4jalzfrfwf8r8v9leq3ct4m49v8tj9qed0ay9jq5kklqz9nxa9uchyl7zxq0d05cqk7m0p9mcqzpgk24wrfy7ucx34n3wuyp4y7qz2hgt823d2p6mdvu3jkz5wu7auds884d3drsgdell4z3kgqn5hy7y7q38zwxznha2w3qezkhtxutkv8pgg3my353xgenpa4ttqqtk3af9qn6dwvcdv2vnylchnxk7mzumcys26a0lqelrm9lc3ztsfqvqqqqqqqqqqqjhnc7wfnqwkzul45rtxd04y9md9j8qfger8d3juve9syvk23tz40eahw3k3kp7nz49ex0hts9q6syqrq22xng0ecwpycpvp6zqf90l7asfnrqzyznskqsqftgrc36cnx0cxxkwkekp8kkmvtd8hnzv8qmgqqyp3rea3knhscdjh39yardx2u2e5lz508jh8trugnqfqc4ct5mlswf4j7uu7tkgsl6tkd0jttd4zqnp3xdwlx2t9r6m8mgvqsdz7c4gkxkwkjnt2s7jyul2mzglsktvxqqqq8jtpwc verified: true - status: rejected + status: accepted errors: "" warnings: "" - execution: transitions: - - id: au1d4gcxz8n54cx906ta3pdkh0rfceqaehtlnazlkulhwsfeqw855zsr45csn + - id: au14wkt0uwdeqr3rtyanm34w05erz09e5pz3vefsras92gw7mg9ruyq2cjhs0 program: metadata.aleo function: is_block_height inputs: - type: private - id: 3135069345152341838952663532563340664522465142511255226861901318078991996664field - value: ciphertext1qyqy0udrrk2za49wpc2p3cdu5gnx7wrgxgdazmkxev7w52kk50m4crqz9jjkl + id: 995875758905348650887838336071398965006340013590388127329542388661760814042field + value: ciphertext1qyqy0udrzx2za49wpc2p3cdu5gnx7wrgxgdazmkxev7w52kk50m4crqjmwyfr outputs: - type: future - id: 6212337145581851034051086140353914628088463539878723696070597953853228640387field - value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 3u32\n ]\n}" + id: 7062753008479587970728813912297002098956298483699113034949808175760398051196field + value: "{\n program_id: metadata.aleo,\n function_name: is_block_height,\n arguments: [\n 0u32\n ]\n}" tpk: 1444729407522809558323470265213923228766243452572825861150604562994526846724group tcm: 6605683873534110561518205917497290187071187934421726209194585939237041100572field scm: 6386290422692476953856701959340582555742652888613812253698770682334976467968field global_state_root: sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu - proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqq98gssxjzs9urgj4efycpqmxx7nwkyc6tq00fj5ra6v0jakcdega0gq5yccvpftprxzda5hcydl2gqq8vawxkgvfuqnppmz6zjmjfjjtyvlqjl3uks5x3fprdmc8vzy6ueea4ndqkxv22fq5p9flh590zvvqyk862z7mnr4uuh6a9chh7m6mqvzvpdzepv7gthyahefc0hfy75226casj9qwhfu72k5yd9tzacz5q4es8qkpn0xxxx48ek6fmsk8e382672agtuqez0vsgnf922ukvdwnxd5hautgwhr6frjj3zka4esgqmv4ddujq5q7ehqueultty8hnyvs3y0umxjxzycz8jvm5z3rxnst7392xpczrjz3a8ecgqpwtklfspz4u27wrjj4zze3t3meg8c9g3qd5r0a2r6zh0hpnpraqhcwd7mk25y5qdresvzuzz7zczt0hvl5ksz9pv422e407r5n0vlnlnmmpwj596s4n90vyrgcguhr7ult0rjgl4xnq25p245nhhxrpc0khu3uvyqrals462j4ku452uje2d550ppzuth3gsw4xr39ntyplnfuaqqhak62f6x24zxsrrkhs8zs3ky3k25qys24sswxmkkhvhp86q75ufc9r2h45ugu2q98mmwpup90e4tmuw0zlkllkj52ru5nz6qjtwg3mk9uqsa9cjx6krhmhj9swrquxua82yrpwzuce9tts6xat9m07dh979ygre37dlud4lk56h39yugznaxfaylucrm8yn7pwhmqnyj76x0smwztzqrh2f5hcgy5cqklhzl93twqe5uzqq9yst7s3p87ywh6cn9z7qrvpwsyemehgugxynn4t753t0kucz38dmkdx72yuexc8rm5yk0lpp0wetmnprz0yd4z48e0jqwep3c4aedmnm6x9g7gucaskn73gv2cv4pz7h55zq52wynp3zlj8yah0xay4kgggda3kqyupugwk6qem7vxjr5dtwhd9gv4hl5enqms0zsaxu3wzyehqzdtke0x4v6chvsqrqz3ljfps33e7fqfq9ffl4pxzvkvnzq7uf47430at6cw7jrvu3yz0pkt5wr0434z7ygga78rf0awt4e5a8tpgwv5msgm2ljqe3tchnxhsakay7jd7gpfzajj7ulun7cyyyutwdrw7ve09wkcx557vdtekxzczqvqqqqqqqqqqq5t2cgrt52r88rg6jjyyf2tsav7nesesujn0jff9ds39ga4a2q9u3chr9ve2sv5tqr758ma48nwrqqqq7398ng724p5aas3l5jdg4v7srjaushyzjt9tu82tfhkl53ll8xrlzxynjc9ludr6tdre74h688sqqymzju3cvzc453m8cgfq7ex43p2nrp6py6vpsfca2zue2fr6gknpyv5m0zlk5x6vlmlyzlw4qxgcp39wpr7uw5hxc3m794zgmel5cheesujku7v8u25tnty8z7z7czshqqqqausnkv + proof: proof1qyqsqqqqqqqqqqqpqqqqqqqqqqq97zr4fk2uw9lljltrjq8xdrxgzrwx365yywak3key90jepew79znyxpupzmqwjm8pwesa42knzd5pq8vawxkgvfuqnppmz6zjmjfjjtyvlqjl3uks5x3fprdmc8vzy6ueea4ndqkxv22fq5p9flh590zvvqzkys72k46wn8hn089nlpu5a9qxypm6m4m5a98p07vq38ye6n7vvce8sqcu935z9k6kk8ljm95v32qkfflma302wclmclz07y5r4skts6vlqcsxjwd2cxygyrn77y29w04283av6266s228vhv0hz6gm05qzrcf0ravlp382uegjg8z85fypgykgqst9dsde435nv3jx82xsg3608nxjl299vvuu4xdlmk6jyrqrf83tvpx9w3ezfunw4umtudmrugz5ms2d42a055jl2fv5v75q3p5lsdvvlhe66c38su7w2k82jeas94e3sgjsrsyh42ac75pksrhcqnya6hqh9l3cv28ggrty88mwhgrphc7s5ugnpnzuvztnprcv45cfqrs8l2798l30pej8d4xkme2hxmdyjrkch47al54xyawdps5ql07ghj38wrsazgyaek2dckhgev7xvqxhc6ulvdrzvps7jues4sh70eamp7stt3ugk5tmtvpd4f3l5py4r2f773938gsxgd200ux8r8k9kgqxeectjylau580wghtwkyq8usgyjwpmvummmqws04cgjt5zec0v8kzycn6xk3w0qxxshak8saly0287ttklsmcjzj9kqsec03fjswvrk2jkqtfwwej48z7apv29jmkt2rvjas9y4unhzcpv9z9ns2fgqfpj3jp3yqasm4srywrjs5jzcskvez6vxkh7ndaey6p4gdvwdvkptprh03rg5kscuhawl4v74axkq8fc50f5tfd92dprt6l6td2p5h6fs8jwcsjgjvucrtwgw6ejhup3jd7j5rq6xqtavzh0mv0zg36tmh0u95435c4cux7t007yz3jeeugv4nzvrsmp7u8wj07wjtzcp6h44jkp4wxcrp9zgvy3jnz75pj9tzzqqvckttk2ggpngle9xrv6ufswalq9t7xp4ykwvq0qe4wrfvefvqfqnmwen4m92f07r8vtzc5ahgamnsxxzz3l7yz0er7smk6eqae22ve8m8vkt34g0wwywr4qtggnh5j2cvqvqqqqqqqqqqpj9lr2ngqgqxl9r6ga9wscx2a20szgfdta4ssq2namc6e06nguc4h9shcusug9r4jr408npszjuksyqwdd2d53vjrv4ajjkmyeu8kvd9dav08ulzcfdlclyjupau83udcga8xdg43djuqkfyvljf56wghngqqxzam6r7zh3klkp0jdda60zx9hkzeepzsetvzezhdk7qtcpncl2qt6el68lz56q22qzvlfrx83yj92hqukc9hnxhwpa734jk0adaed4pxe8l737hzh8t9f2r6d4d4x0fsqqqfe3ct3 verified: true status: rejected errors: "" diff --git a/tests/tests/execution/metadata.leo b/tests/tests/execution/metadata.leo index d6224d2ead..be61695a64 100644 --- a/tests/tests/execution/metadata.leo +++ b/tests/tests/execution/metadata.leo @@ -2,18 +2,18 @@ namespace: Execute expectation: Pass cases: - - program: metadata.aleo - function: is_block_height - input: ["0u32"] - - program: metadata.aleo - function: is_block_height - input: ["1u32"] - program: metadata.aleo function: is_block_height input: ["2u32"] - program: metadata.aleo function: is_block_height input: ["3u32"] + - program: metadata.aleo + function: is_block_height + input: ["4u32"] + - program: metadata.aleo + function: is_block_height + input: ["0u32"] - program: metadata.aleo function: is_network_id input: ["0u16"] From 83c1c2dfd3ce8ee4717985c53dd7d43bf3118e2c Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Thu, 25 Apr 2024 15:54:42 -0700 Subject: [PATCH 11/15] cherry pick --- Cargo.lock | 2869 ++++++++++++++++++++++++++++++++++------ Cargo.toml | 7 + leo/package/Cargo.toml | 3 + 3 files changed, 2452 insertions(+), 427 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6a3ee624d4..3a4043d105 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,6 +36,16 @@ version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + [[package]] name = "aes" version = "0.8.4" @@ -47,6 +57,20 @@ dependencies = [ "cpufeatures", ] +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + [[package]] name = "ahash" version = "0.8.11" @@ -110,7 +134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72f2a841f04c2eaeb5a95312e5201a9e4b7c95b64ca99870d6bd2e2376df540a" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] @@ -121,7 +145,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6118baab6285accf088b31d5ea5029c37bbf9d98e62b4d8720a0a5a66bc2e427" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] @@ -133,9 +157,9 @@ checksum = "7e4f181fc1a372e8ceff89612e5c9b13f72bff5b066da9f8d6827ae65af492c4" [[package]] name = "allocator-api2" -version = "0.2.16" +version = "0.2.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0942ffc6dcaadf03badf6e6a2d0228460359d5e34b57ccdc720b7382dfbd5ec5" +checksum = "5c6cb57a04249c6480766f7f7cef5467412af1490f8d1e243141daddada3264f" [[package]] name = "anes" @@ -202,9 +226,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0952808a6c2afd1aa8947271f3a60f1a6763c7b912d210184c5149b5cf147247" +checksum = "f538837af36e6f6a9be0faa67f9a314f8119e4e4b5867c6ab40ed60360142519" [[package]] name = "arrayref" @@ -234,14 +258,25 @@ dependencies = [ ] [[package]] -name = "async-trait" -version = "0.1.79" +name = "async-recursion" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a507401cad91ec6a857ed5513a2073c82a9b9048762b885bb98655b306964681" +checksum = "3b43422f69d8ff38f95f1b2bb76517c91589a924d1559a0e935d7c8ce0274c11" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", +] + +[[package]] +name = "async-trait" +version = "0.1.80" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6fa2087f2753a7da8cc1c0dbfcf89579dd57458e36769de5ac750b4671737ca" +dependencies = [ + "proc-macro2", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -250,6 +285,85 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +[[package]] +name = "axum" +version = "0.7.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a6c9af12842a67734c9a2e355436e5d03b22383ed60cf13cd0c18fbfe3dcbcf" +dependencies = [ + "async-trait", + "axum-core", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "hyper 1.3.1", + "hyper-util", + "itoa", + "matchit", + "memchr", + "mime", + "percent-encoding", + "pin-project-lite", + "rustversion", + "serde", + "serde_json", + "serde_path_to_error", + "serde_urlencoded", + "sync_wrapper 1.0.1", + "tokio", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-core" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a15c63fd72d41492dc4f497196f5da1fb04fb7529e631d73630d1b491e47a2e3" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "mime", + "pin-project-lite", + "rustversion", + "sync_wrapper 0.1.2", + "tower-layer", + "tower-service", + "tracing", +] + +[[package]] +name = "axum-extra" +version = "0.9.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0be6ea09c9b96cb5076af0de2e383bd2bc0c18f827cf1967bdd353e0b910d733" +dependencies = [ + "axum", + "axum-core", + "bytes", + "futures-util", + "headers", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "mime", + "pin-project-lite", + "serde", + "serde_json", + "tower", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "backtrace" version = "0.3.71" @@ -271,6 +385,12 @@ version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" +[[package]] +name = "base64" +version = "0.22.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" + [[package]] name = "base64ct" version = "1.6.0" @@ -292,6 +412,27 @@ dependencies = [ "serde", ] +[[package]] +name = "bindgen" +version = "0.65.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cfdf7b466f9a4903edc73f95d6d2bcd5baf8ae620638762244d3f60143643cc5" +dependencies = [ + "bitflags 1.3.2", + "cexpr", + "clang-sys", + "lazy_static", + "lazycell", + "peeking_take_while", + "prettyplease", + "proc-macro2", + "quote 1.0.36", + "regex", + "rustc-hash", + "shlex", + "syn 2.0.60", +] + [[package]] name = "bitflags" version = "1.3.2" @@ -349,15 +490,15 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706" dependencies = [ "memchr", - "regex-automata", + "regex-automata 0.4.6", "serde", ] [[package]] name = "bumpalo" -version = "3.15.4" +version = "3.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ff69b9dd49fd426c69a0db9fc04dd934cdb6645ff000864d98f7e2af8830eaa" +checksum = "79296716171880943b8470b5f8d03aa55eb2e645a4874bdbb28adb49162e012c" [[package]] name = "byteorder" @@ -392,6 +533,12 @@ dependencies = [ "pkg-config", ] +[[package]] +name = "cassowary" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df8670b8c7b9dae1793364eafadf7239c40d669904660c5960d74cfd80b46a53" + [[package]] name = "cast" version = "0.3.0" @@ -400,12 +547,22 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.90" +version = "1.0.96" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8cd6604a82acf3039f1144f54b8eb34e91ffba622051189e71b781822d5ee1f5" +checksum = "065a29261d53ba54260972629f9ca6bffa69bac13cd1fed61420f7fa68b9f8bd" dependencies = [ "jobserver", "libc", + "once_cell", +] + +[[package]] +name = "cexpr" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6fac387a98bb7c37292057cffc56d62ecb629900026402633ae9160df93a8766" +dependencies = [ + "nom", ] [[package]] @@ -414,6 +571,30 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "chacha20" +version = "0.9.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3613f74bd2eac03dad61bd53dbe620703d4371614fe0bc3b9f04dd36fe4e818" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "chacha20poly1305" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "10cd79432192d1c0f4e1a0fef9527696cc039165d729fb41b3f4f4f354c2dc35" +dependencies = [ + "aead", + "chacha20", + "cipher", + "poly1305", + "zeroize", +] + [[package]] name = "ci_info" version = "0.10.2" @@ -458,6 +639,18 @@ checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" dependencies = [ "crypto-common", "inout", + "zeroize", +] + +[[package]] +name = "clang-sys" +version = "1.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "67523a3b4be3ce1989d607a828d036249522dd9c1c8de7f4dd2dae43a37369d1" +dependencies = [ + "glob", + "libc", + "libloading", ] [[package]] @@ -488,10 +681,10 @@ version = "4.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "528131438037fd55894f62d6e9f068b8f45ac57ffa77517819645d10aed04f64" dependencies = [ - "heck", + "heck 0.5.0", "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -690,9 +883,19 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3" dependencies = [ "generic-array", + "rand_core", "typenum", ] +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + [[package]] name = "curl" version = "0.4.46" @@ -747,8 +950,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f46882e17999c6cc590af592290432be3bce0428cb0d5f8b6715e4dc7b383eb3" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -758,7 +961,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "lock_api", "once_cell", "parking_lot_core", @@ -766,9 +969,9 @@ dependencies = [ [[package]] name = "der" -version = "0.7.8" +version = "0.7.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fffa369a668c8af7dbf8b5e56c9f744fbd399949ed171606040001947de40b1c" +checksum = "f55bf8e7b65898637379c1b74eb1551107c8294ed26d855ceb9fd1a09cfc9bc0" dependencies = [ "const-oid", "zeroize", @@ -790,7 +993,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote 1.0.36", "syn 1.0.109", ] @@ -891,9 +1094,9 @@ dependencies = [ [[package]] name = "either" -version = "1.10.0" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a" +checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" [[package]] name = "encode_unicode" @@ -903,9 +1106,9 @@ checksum = "a357d28ed41a50f9c765dbfe56cbc04a64e53e5fc58ba79fbc34c10ef3df831f" [[package]] name = "encoding_rs" -version = "0.8.33" +version = "0.8.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7268b386296a025e474d5140678f75d6de9493ae55a5d709eeb9dd08149945e1" +checksum = "b45de904aa0b010bce2ab45264d0631681847fa7b6f2eaa7dab7619943bc4f59" dependencies = [ "cfg-if", ] @@ -963,21 +1166,21 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "658bd65b1cf4c852a3cc96f18a8ce7b5640f6b703f905c7d74532294c2a63984" +checksum = "9fc0510504f03c51ada170672ac806f1f105a88aa97a5281117e1ddc3368e51a" [[package]] name = "fiat-crypto" -version = "0.2.7" +version = "0.2.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c007b1ae3abe1cb6f85a16305acd418b7ca6343b953633fee2b76d8f108b830f" +checksum = "38793c55593b33412e3ae40c2c9781ffaa6f438f6f8c10f24e71846fbd7ae01e" [[package]] name = "flate2" -version = "1.0.28" +version = "1.0.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "46303f565772937ffe1d394a4fac6f411c6013172fadde9dcdb1e147a086940e" +checksum = "5f54427cfd1c7829e2a139fcefea601bf088ebca651d2bf53ebc600eac295dae" dependencies = [ "crc32fast", "miniz_oxide", @@ -1013,6 +1216,16 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "forwarded-header-value" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8835f84f38484cc86f110a805655697908257fb9a7af005234060891557198e9" +dependencies = [ + "nonempty", + "thiserror", +] + [[package]] name = "fsio" version = "0.1.3" @@ -1059,6 +1272,7 @@ dependencies = [ "futures-core", "futures-task", "futures-util", + "num_cpus", ] [[package]] @@ -1067,6 +1281,17 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a44623e20b9681a318efdd71c299b6b222ed6f231972bfe2f224ebad6311f0c1" +[[package]] +name = "futures-macro" +version = "0.3.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac" +dependencies = [ + "proc-macro2", + "quote 1.0.36", + "syn 2.0.60", +] + [[package]] name = "futures-sink" version = "0.3.30" @@ -1079,6 +1304,12 @@ version = "0.3.30" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "38d84fa142264698cdce1a9f9172cf383a0c82de1bddcf3092901442c4097004" +[[package]] +name = "futures-timer" +version = "3.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f288b0a4f20f9a56b5d1da57e2227c661b7b16168e2f72365f57b63326e29b24" + [[package]] name = "futures-util" version = "0.3.30" @@ -1088,6 +1319,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-io", + "futures-macro", "futures-sink", "futures-task", "memchr", @@ -1126,13 +1358,25 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.12" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "190092ea657667030ac6a35e305e62fc4dd69fd98ac98631e5d3a2b1575a12b5" +checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" dependencies = [ "cfg-if", + "js-sys", "libc", "wasi", + "wasm-bindgen", +] + +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", ] [[package]] @@ -1142,10 +1386,36 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" [[package]] -name = "h2" -version = "0.3.25" +name = "glob" +version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4fbd2820c5e49886948654ab546d0688ff24530286bdcf8fca3cefb16d4618eb" +checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" + +[[package]] +name = "governor" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68a7f542ee6b35af73b06abc0dad1c1bae89964e4e253bc4b587b91c9637867b" +dependencies = [ + "cfg-if", + "dashmap", + "futures", + "futures-timer", + "no-std-compat", + "nonzero_ext", + "parking_lot", + "portable-atomic", + "quanta", + "rand", + "smallvec", + "spinning_top", +] + +[[package]] +name = "h2" +version = "0.3.26" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "81fe527a889e1532da5c525686d96d4c2e74cdd345badf8dfef9f6b39dd5f5e8" dependencies = [ "bytes", "fnv", @@ -1162,9 +1432,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51ee2dd2e4f378392eeff5d51618cd9a63166a2513846bbc55f21cfacd9199d4" +checksum = "816ec7294445779408f36fe57bc5b7fc1cf59664059096c65f905c1c61f58069" dependencies = [ "bytes", "fnv", @@ -1181,9 +1451,9 @@ dependencies = [ [[package]] name = "half" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b5eceaaeec696539ddaf7b333340f1af35a5aa87ae3e4f3ead0532f72affab2e" +checksum = "6dd08c532ae367adf81c312a4580bc67f1d0fe8bc9c460520283f4c0ff277888" dependencies = [ "cfg-if", "crunchy", @@ -1197,14 +1467,44 @@ checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", ] +[[package]] +name = "headers" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "322106e6bd0cba2d5ead589ddb8150a13d7c4217cf80d7c4f682ca994ccc6aa9" +dependencies = [ + "base64 0.21.7", + "bytes", + "headers-core", + "http 1.1.0", + "httpdate", + "mime", + "sha1", +] + +[[package]] +name = "headers-core" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "54b4a22553d4242c49fddb9ba998a99962b5cc6f22cb5a3482bec22522403ce4" +dependencies = [ + "http 1.1.0", +] + +[[package]] +name = "heck" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95505c38b4572b2d910cecb0281560f54b440a19336cbbcb27bf6ce6adc6f5a8" + [[package]] name = "heck" version = "0.5.0" @@ -1310,7 +1610,7 @@ dependencies = [ "futures-channel", "futures-core", "futures-util", - "h2 0.3.25", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "httparse", @@ -1326,17 +1626,18 @@ dependencies = [ [[package]] name = "hyper" -version = "1.2.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "186548d73ac615b32a73aafe38fb4f56c0d340e110e5a200bcadbaf2e199263a" +checksum = "fe575dd17d0862a9a33781c8c4696a55c320909004a67a00fb286ba8b1bc496d" dependencies = [ "bytes", "futures-channel", "futures-util", - "h2 0.4.3", + "h2 0.4.4", "http 1.1.0", "http-body 1.0.0", "httparse", + "httpdate", "itoa", "pin-project-lite", "smallvec", @@ -1365,7 +1666,7 @@ checksum = "70206fc6890eaca9fde8a0bf71caa2ddfc9fe045ac9e5c70df101a7dbde866e0" dependencies = [ "bytes", "http-body-util", - "hyper 1.2.0", + "hyper 1.3.1", "hyper-util", "native-tls", "tokio", @@ -1384,7 +1685,7 @@ dependencies = [ "futures-util", "http 1.1.0", "http-body 1.0.0", - "hyper 1.2.0", + "hyper 1.3.1", "pin-project-lite", "socket2", "tokio", @@ -1421,7 +1722,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "168fb715dda47215e360912c096649d23d58bf392ac62f73919e831745e40f26" dependencies = [ "equivalent", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "rayon", "serde", ] @@ -1439,6 +1740,12 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "indoc" +version = "2.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b248f5224d1d606005e02c97f5aa4e88eeb230488bcc03bc9ca4d7991399f2b5" + [[package]] name = "inout" version = "0.1.3" @@ -1509,9 +1816,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.28" +version = "0.1.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab46a6e9526ddef3ae7f787c06f0f2600639ba80ea3eade3d8e670a2230f51d6" +checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" dependencies = [ "libc", ] @@ -1525,12 +1832,33 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "jsonwebtoken" +version = "9.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9ae10193d25051e74945f1ea2d0b42e03cc3b890f7e4cc5faa44997d808193f" +dependencies = [ + "base64 0.21.7", + "js-sys", + "pem", + "ring", + "serde", + "serde_json", + "simple_asn1", +] + [[package]] name = "lazy_static" version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +[[package]] +name = "lazycell" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "830d08ce1d1d941e6b30645f1a0eb5643013d835ce3779a5fc208261dbe10f55" + [[package]] name = "leo-abnf" version = "1.11.0" @@ -1551,7 +1879,7 @@ dependencies = [ "serde", "serde_json", "smallvec", - "snarkvm", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", ] [[package]] @@ -1574,7 +1902,7 @@ dependencies = [ "serde", "serde_yaml", "sha2", - "snarkvm", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "tempfile", ] @@ -1585,7 +1913,7 @@ dependencies = [ "leo-ast", "leo-errors", "leo-span", - "snarkvm", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", ] [[package]] @@ -1598,7 +1926,7 @@ dependencies = [ "colored", "derivative", "leo-span", - "reqwest 0.12.2", + "reqwest 0.12.4", "serde", "thiserror", ] @@ -1630,14 +1958,15 @@ dependencies = [ "rand", "rand_chacha", "rand_core", - "reqwest 0.12.2", + "reqwest 0.12.4", "rpassword", "rusty-hook", "self_update 0.39.0", "serde", "serde_json", "serial_test", - "snarkvm", + "snarkos-cli", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "sys-info", "test_dir", "toml 0.8.12", @@ -1659,7 +1988,8 @@ dependencies = [ "rand", "serde", "serial_test", - "snarkvm", + "snarkos-cli", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "toml 0.8.12", "tracing", ] @@ -1679,7 +2009,7 @@ dependencies = [ "serde_json", "serde_yaml", "smallvec", - "snarkvm", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "tracing", ] @@ -1696,7 +2026,7 @@ dependencies = [ "num-traits", "serde", "serde_json", - "snarkvm", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", ] [[package]] @@ -1749,9 +2079,19 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.154" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" + +[[package]] +name = "libloading" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0c2a198fb6b0eada2a8df47933734e6d35d350665a33a3593d7164fa52c75c19" +dependencies = [ + "cfg-if", + "windows-targets 0.52.5", +] [[package]] name = "libredox" @@ -1763,6 +2103,21 @@ dependencies = [ "libc", ] +[[package]] +name = "librocksdb-sys" +version = "0.11.0+8.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3386f101bcb4bd252d8e9d2fb41ec3b0862a15a62b478c355b2982efa469e3e" +dependencies = [ + "bindgen", + "bzip2-sys", + "cc", + "glob", + "libc", + "libz-sys", + "lz4-sys", +] + [[package]] name = "libz-sys" version = "1.1.16" @@ -1789,9 +2144,9 @@ checksum = "01cda141df6706de531b6c46c3a33ecca755538219bd484262fa09410c13539c" [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -1809,15 +2164,93 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3262e75e648fce39813cb56ac41f3c3e3f65217ebf3844d818d1f9398cfb0dc" dependencies = [ - "hashbrown 0.14.3", + "hashbrown 0.14.5", ] +[[package]] +name = "lz4-sys" +version = "1.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57d27b317e207b10f69f5e75494119e391a96f48861ae870d1da6edac98ca900" +dependencies = [ + "cc", + "libc", +] + +[[package]] +name = "matchers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8263075bb86c5a1b1427b5ae862e8889656f126e9f77c484496e8b47cf5c5558" +dependencies = [ + "regex-automata 0.1.10", +] + +[[package]] +name = "matchit" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0e7465ac9959cc2b1404e8e2367b43684a6d13790fe23056cc8c6c5a6b7bcb94" + [[package]] name = "memchr" version = "2.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "metrics" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2be3cbd384d4e955b231c895ce10685e3d8260c5ccffae898c96c723b0772835" +dependencies = [ + "ahash", + "portable-atomic", +] + +[[package]] +name = "metrics-exporter-prometheus" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9bf4e7146e30ad172c42c39b3246864bd2d3c6396780711a1baf749cfe423e21" +dependencies = [ + "base64 0.21.7", + "hyper 0.14.28", + "hyper-tls 0.5.0", + "indexmap 2.2.6", + "ipnet", + "metrics", + "metrics-util", + "quanta", + "thiserror", + "tokio", + "tracing", +] + +[[package]] +name = "metrics-util" +version = "0.16.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b07a5eb561b8cbc16be2d216faf7757f9baf3bfb94dbb0fae3df8387a5bb47f" +dependencies = [ + "crossbeam-epoch", + "crossbeam-utils", + "hashbrown 0.14.5", + "metrics", + "num_cpus", + "quanta", + "sketches-ddsketch", +] + [[package]] name = "mime" version = "0.3.17" @@ -1885,6 +2318,25 @@ version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab250442c86f1850815b5d268639dff018c0627022bc1940eb2d642ca1ce12f0" +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags 1.3.2", + "cfg-if", + "libc", + "memoffset", + "pin-utils", +] + +[[package]] +name = "no-std-compat" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b93853da6d84c2e3c7d730d6473e8817692dd89be387eb01b94d7f108ecb5b8c" + [[package]] name = "nom" version = "7.1.3" @@ -1895,6 +2347,18 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nonempty" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9e591e719385e6ebaeb5ce5d3887f7d5676fceca6411d1925ccc95745f3d6f7" + +[[package]] +name = "nonzero_ext" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38bf9645c8b145698bb0b18a4637dcacbc421ea49bef2317e4fd8065a387cf21" + [[package]] name = "nu-ansi-term" version = "0.46.0" @@ -1929,8 +2393,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -1991,6 +2455,9 @@ name = "once_cell" version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" +dependencies = [ + "parking_lot_core", +] [[package]] name = "oorandom" @@ -1998,6 +2465,12 @@ version = "11.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + [[package]] name = "openssl" version = "0.10.64" @@ -2020,8 +2493,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -2056,9 +2529,9 @@ checksum = "b15813163c1d831bf4a13c3610c05c0d03b39feb07f7e09fa234dac9b15aaf39" [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" dependencies = [ "lock_api", "parking_lot_core", @@ -2066,15 +2539,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets 0.52.5", ] [[package]] @@ -2106,6 +2579,22 @@ dependencies = [ "sha2", ] +[[package]] +name = "peeking_take_while" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19b17cddbe7ec3f8bc800887bab5e717348c95ea2ca0b1bf0837fb964dc67099" + +[[package]] +name = "pem" +version = "3.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e459365e590736a54c3fa561947c84837534b8e9af6fc5bf781307e82658fae" +dependencies = [ + "base64 0.22.1", + "serde", +] + [[package]] name = "percent-encoding" version = "2.3.1" @@ -2128,8 +2617,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2f38a4412a78282e09a2cf38d195ea5420d15ba0602cb375210efbc877243965" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -2194,6 +2683,29 @@ dependencies = [ "plotters-backend", ] +[[package]] +name = "poly1305" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8159bd90725d2df49889a078b54f4f79e87f1f8a8444194cdca81d38f5393abf" +dependencies = [ + "cpufeatures", + "opaque-debug", + "universal-hash", +] + +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + [[package]] name = "portable-atomic" version = "1.6.0" @@ -2240,14 +2752,39 @@ dependencies = [ ] [[package]] -name = "proc-macro2" -version = "1.0.79" +name = "prettyplease" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e835ff2298f5721608eb1a980ecaee1aef2c132bf95ecc026a11b7bf3c01c02e" +checksum = "5ac2cf0f2e4f42b49f5ffd07dae8d746508ef7526c13940e5f524012ae6c6550" +dependencies = [ + "proc-macro2", + "syn 2.0.60", +] + +[[package]] +name = "proc-macro2" +version = "1.0.81" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d1597b0c024618f09a9c3b8655b7e430397a36d23fdafec26d6965e9eec3eba" dependencies = [ "unicode-ident", ] +[[package]] +name = "quanta" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e5167a477619228a0b284fac2674e3c388cba90631d7b7de620e6f1fcd08da5" +dependencies = [ + "crossbeam-utils", + "libc", + "once_cell", + "raw-cpuid", + "wasi", + "web-sys", + "winapi", +] + [[package]] name = "quick-xml" version = "0.23.1" @@ -2265,9 +2802,9 @@ checksum = "7a6e920b65c65f10b2ae65c831a81a073a89edd28c7cce89475bff467ab4167a" [[package]] name = "quote" -version = "1.0.35" +version = "1.0.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef" +checksum = "0fa76aaf39101c457836aec0ce2316dbdc3ab723cdda1c6bd4e6ad4208acaca7" dependencies = [ "proc-macro2", ] @@ -2311,6 +2848,34 @@ dependencies = [ "rand_core", ] +[[package]] +name = "ratatui" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a5659e52e4ba6e07b2dad9f1158f578ef84a73762625ddb51536019f34d180eb" +dependencies = [ + "bitflags 2.5.0", + "cassowary", + "crossterm", + "indoc", + "itertools 0.12.1", + "lru", + "paste", + "stability", + "strum", + "unicode-segmentation", + "unicode-width", +] + +[[package]] +name = "raw-cpuid" +version = "11.0.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e29830cbb1290e404f24c73af91c5d8d631ce7e128691e9477556b540cd01ecd" +dependencies = [ + "bitflags 2.5.0", +] + [[package]] name = "rayon" version = "1.10.0" @@ -2333,11 +2898,11 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "469052894dcb553421e483e4209ee581a45100d31b4018de03e5a7ad86374a7e" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.5.0", ] [[package]] @@ -2359,8 +2924,17 @@ checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" dependencies = [ "aho-corasick", "memchr", - "regex-automata", - "regex-syntax", + "regex-automata 0.4.6", + "regex-syntax 0.8.3", +] + +[[package]] +name = "regex-automata" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c230d73fb8d8c1b9c0b3135c5142a8acee3a0558fb8db5cf1cb65f8d7862132" +dependencies = [ + "regex-syntax 0.6.29", ] [[package]] @@ -2371,9 +2945,15 @@ checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" dependencies = [ "aho-corasick", "memchr", - "regex-syntax", + "regex-syntax 0.8.3", ] +[[package]] +name = "regex-syntax" +version = "0.6.29" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" + [[package]] name = "regex-syntax" version = "0.8.3" @@ -2386,12 +2966,12 @@ version = "0.11.27" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dd67538700a17451e7cba03ac727fb961abb7607553461627b97de0b89cf4a62" dependencies = [ - "base64", + "base64 0.21.7", "bytes", "encoding_rs", "futures-core", "futures-util", - "h2 0.3.25", + "h2 0.3.26", "http 0.2.12", "http-body 0.4.6", "hyper 0.14.28", @@ -2404,11 +2984,11 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", + "rustls-pemfile 1.0.4", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", @@ -2417,26 +2997,26 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "winreg 0.50.0", ] [[package]] name = "reqwest" -version = "0.12.2" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2d66674f2b6fb864665eea7a3c1ac4e3dfacd2fda83cf6f935a612e01b0e3338" +checksum = "566cafdd92868e0939d3fb961bd0dc25fcfaaed179291093b3d43e6b3150ea10" dependencies = [ - "base64", + "base64 0.22.1", "bytes", "encoding_rs", "futures-channel", "futures-core", "futures-util", - "h2 0.4.3", + "h2 0.4.4", "http 1.1.0", "http-body 1.0.0", "http-body-util", - "hyper 1.2.0", + "hyper 1.3.1", "hyper-tls 0.6.0", "hyper-util", "ipnet", @@ -2448,11 +3028,11 @@ dependencies = [ "once_cell", "percent-encoding", "pin-project-lite", - "rustls-pemfile", + "rustls-pemfile 2.1.2", "serde", "serde_json", "serde_urlencoded", - "sync_wrapper", + "sync_wrapper 0.1.2", "system-configuration", "tokio", "tokio-native-tls", @@ -2461,7 +3041,7 @@ dependencies = [ "wasm-bindgen", "wasm-bindgen-futures", "web-sys", - "winreg", + "winreg 0.52.0", ] [[package]] @@ -2479,6 +3059,16 @@ dependencies = [ "windows-sys 0.52.0", ] +[[package]] +name = "rocksdb" +version = "0.21.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb6f170a4041d50a0ce04b0d2e14916d6ca863ea2e422689a5b694395d299ffe" +dependencies = [ + "libc", + "librocksdb-sys", +] + [[package]] name = "rpassword" version = "7.3.1" @@ -2506,6 +3096,12 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +[[package]] +name = "rustc-hash" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" + [[package]] name = "rustc_version" version = "0.4.0" @@ -2517,9 +3113,9 @@ dependencies = [ [[package]] name = "rustix" -version = "0.38.32" +version = "0.38.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "65e04861e65f21776e67888bfbea442b3642beaa0138fdb1dd7a84a52dffdb89" +checksum = "70dc5ec042f7a43c4a73241207cecc9873a06d45debb38b329f8541d85c2730f" dependencies = [ "bitflags 2.5.0", "errno", @@ -2530,9 +3126,9 @@ dependencies = [ [[package]] name = "rustls" -version = "0.22.3" +version = "0.22.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99008d7ad0bbbea527ec27bddbc0e432c5b87d8175178cee68d2eec9c4a1813c" +checksum = "bf4ef73721ac7bcd79b2b315da7779d8fc09718c6b3d2d1b2d94850eb8c18432" dependencies = [ "log", "ring", @@ -2548,26 +3144,42 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1c74cae0a4cf6ccbbf5f359f08efdf8ee7e1dc532573bf0db71968cb56b1448c" dependencies = [ - "base64", + "base64 0.21.7", +] + +[[package]] +name = "rustls-pemfile" +version = "2.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "29993a25686778eb88d4189742cd713c9bce943bc54251a33509dc63cbacf73d" +dependencies = [ + "base64 0.22.1", + "rustls-pki-types", ] [[package]] name = "rustls-pki-types" -version = "1.4.1" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ecd36cc4259e3e4514335c4a138c6b43171a8d61d8f5c9348f9fc7529416f247" +checksum = "beb461507cee2c2ff151784c52762cf4d9ff6a61f3e80968600ed24fa837fa54" [[package]] name = "rustls-webpki" -version = "0.102.2" +version = "0.102.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faaa0a62740bedb9b2ef5afa303da42764c012f743917351dc9a237ea1663610" +checksum = "f3bce581c0dd41bce533ce695a1437fa16a7ab5ac3ccfa99fe1a620a7885eabf" dependencies = [ "ring", "rustls-pki-types", "untrusted", ] +[[package]] +name = "rustversion" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "80af6f9131f277a45a3fba6ce8e2258037bb0477a67e610d3c1fe046ab31de47" + [[package]] name = "rusty-hook" version = "0.11.2" @@ -2595,6 +3207,15 @@ dependencies = [ "winapi-util", ] +[[package]] +name = "scc" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec96560eea317a9cc4e0bb1f6a2c93c09a19b8c4fc5cb3fcc0ec1c094cd783e2" +dependencies = [ + "sdd", +] + [[package]] name = "schannel" version = "0.1.23" @@ -2616,6 +3237,12 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sdd" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b84345e4c9bd703274a082fb80caaa99b7612be48dfaa1dd9266577ec412309d" + [[package]] name = "security-framework" version = "2.10.0" @@ -2698,29 +3325,29 @@ checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" [[package]] name = "serde" -version = "1.0.197" +version = "1.0.199" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3fb1c873e1b9b056a4dc4c0c198b24c3ffa059243875552b2bd0933b1aee4ce2" +checksum = "0c9f6e76df036c77cd94996771fb40db98187f096dd0b9af39c6c6e452ba966a" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.197" +version = "1.0.199" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7eb0b34b42edc17f6b7cac84a52a1c5f0e1bb2227e997ca9011ea3dd34e8610b" +checksum = "11bd257a6541e141e42ca6d24ae26f7714887b47e89aa739099104c7e4d3b7fc" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] name = "serde_json" -version = "1.0.115" +version = "1.0.116" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12dc5c46daa8e9fdf4f5e71b6cf9a53f2487da0e86e55808e2d35539666497dd" +checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" dependencies = [ "indexmap 2.2.6", "itoa", @@ -2728,6 +3355,16 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_path_to_error" +version = "0.1.16" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "af99884400da37c88f5e9146b7f1fd0fbcae8f6eec4e9da38b67d05486f814a6" +dependencies = [ + "itoa", + "serde", +] + [[package]] name = "serde_spanned" version = "0.6.5" @@ -2763,27 +3400,27 @@ dependencies = [ [[package]] name = "serial_test" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "953ad9342b3aaca7cb43c45c097dd008d4907070394bd0751a0aa8817e5a018d" +checksum = "4b4b487fe2acf240a021cf57c6b2b4903b1e78ca0ecd862a71b71d2a51fed77d" dependencies = [ - "dashmap", "futures", - "lazy_static", "log", + "once_cell", "parking_lot", + "scc", "serial_test_derive", ] [[package]] name = "serial_test_derive" -version = "3.0.0" +version = "3.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b93fb4adc70021ac1b47f7d45e8cc4169baaa7ea58483bc5b721d19a26202212" +checksum = "82fe9db325bcef1fbcde82e078a5cc4efdf787e96b3b9cf45b50b529f2083d67" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -2817,6 +3454,12 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "shlex" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" + [[package]] name = "signal-hook" version = "0.3.17" @@ -2840,9 +3483,9 @@ dependencies = [ [[package]] name = "signal-hook-registry" -version = "1.4.1" +version = "1.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8229b473baa5980ac72ef434c4415e70c4b5e71b423043adb4ba059f89c99a1" +checksum = "a9e9e0b4211b72e7b8b6e85c807d36c212bdb33ea8587f7569562a84df5465b1" dependencies = [ "libc", ] @@ -2857,6 +3500,24 @@ dependencies = [ "rand_core", ] +[[package]] +name = "simple_asn1" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adc4e5204eb1910f40f9cfa375f6f05b68c3abac4b6fd879c8ff5e7ae8a0a085" +dependencies = [ + "num-bigint", + "num-traits", + "thiserror", + "time", +] + +[[package]] +name = "sketches-ddsketch" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85636c14b73d81f541e525f585c0a2109e6744e1565b5c1668e31c70c10ed65c" + [[package]] name = "slab" version = "0.4.9" @@ -2884,6 +3545,364 @@ dependencies = [ "serde", ] +[[package]] +name = "snarkos-account" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "colored", + "rand", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", +] + +[[package]] +name = "snarkos-cli" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "aleo-std", + "anstyle", + "anyhow", + "bincode", + "clap", + "colored", + "crossterm", + "indexmap 2.2.6", + "nix", + "num_cpus", + "parking_lot", + "rand", + "rand_chacha", + "rayon", + "self_update 0.39.0", + "serde", + "serde_json", + "snarkos-account", + "snarkos-display", + "snarkos-node", + "snarkos-node-cdn", + "snarkos-node-metrics", + "snarkos-node-rest", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "sys-info", + "thiserror", + "tokio", + "tracing-subscriber", + "ureq", + "zeroize", +] + +[[package]] +name = "snarkos-display" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "crossterm", + "ratatui", + "snarkos-node", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tokio", +] + +[[package]] +name = "snarkos-node" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "aleo-std", + "anyhow", + "async-trait", + "colored", + "futures-util", + "indexmap 2.2.6", + "num_cpus", + "once_cell", + "parking_lot", + "rand", + "rayon", + "serde_json", + "snarkos-account", + "snarkos-node-bft", + "snarkos-node-cdn", + "snarkos-node-consensus", + "snarkos-node-metrics", + "snarkos-node-rest", + "snarkos-node-router", + "snarkos-node-sync", + "snarkos-node-tcp", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "time", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "snarkos-node-bft" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "aleo-std", + "anyhow", + "async-recursion", + "async-trait", + "bytes", + "colored", + "futures", + "indexmap 2.2.6", + "parking_lot", + "rand", + "rayon", + "serde", + "sha2", + "snarkos-account", + "snarkos-node-bft-events", + "snarkos-node-bft-ledger-service", + "snarkos-node-bft-storage-service", + "snarkos-node-metrics", + "snarkos-node-sync", + "snarkos-node-tcp", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snow", + "time", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", +] + +[[package]] +name = "snarkos-node-bft-events" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "bytes", + "indexmap 2.2.6", + "rayon", + "serde", + "snarkos-node-metrics", + "snarkos-node-sync-locators", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snow", + "tokio-util", + "tracing", +] + +[[package]] +name = "snarkos-node-bft-ledger-service" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "async-trait", + "indexmap 2.2.6", + "lru", + "parking_lot", + "rand", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tokio", + "tracing", +] + +[[package]] +name = "snarkos-node-bft-storage-service" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "aleo-std", + "indexmap 2.2.6", + "parking_lot", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tracing", +] + +[[package]] +name = "snarkos-node-cdn" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "bincode", + "colored", + "futures", + "parking_lot", + "rayon", + "reqwest 0.11.27", + "serde", + "serde_json", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tokio", + "tracing", +] + +[[package]] +name = "snarkos-node-consensus" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "aleo-std", + "anyhow", + "colored", + "indexmap 2.2.6", + "lru", + "parking_lot", + "rand", + "snarkos-account", + "snarkos-node-bft", + "snarkos-node-bft-ledger-service", + "snarkos-node-bft-storage-service", + "snarkos-node-metrics", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tokio", + "tracing", +] + +[[package]] +name = "snarkos-node-metrics" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "metrics-exporter-prometheus", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tokio", +] + +[[package]] +name = "snarkos-node-rest" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "axum", + "axum-extra", + "http 1.1.0", + "indexmap 2.2.6", + "jsonwebtoken", + "once_cell", + "parking_lot", + "rand", + "rayon", + "serde", + "serde_json", + "snarkos-node-consensus", + "snarkos-node-router", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "time", + "tokio", + "tower", + "tower-http", + "tower_governor", + "tracing", +] + +[[package]] +name = "snarkos-node-router" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "async-trait", + "bincode", + "bytes", + "colored", + "futures", + "indexmap 2.2.6", + "linked-hash-map", + "parking_lot", + "rand", + "reqwest 0.11.27", + "serde", + "snarkos-account", + "snarkos-node-metrics", + "snarkos-node-router-messages", + "snarkos-node-sync-locators", + "snarkos-node-tcp", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "time", + "tokio", + "tokio-stream", + "tokio-util", + "tracing", +] + +[[package]] +name = "snarkos-node-router-messages" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "bytes", + "indexmap 2.2.6", + "rayon", + "serde", + "snarkos-node-bft-events", + "snarkos-node-sync-locators", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snow", + "tokio", + "tokio-util", + "tracing", +] + +[[package]] +name = "snarkos-node-sync" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "indexmap 2.2.6", + "itertools 0.12.1", + "once_cell", + "parking_lot", + "rand", + "serde", + "snarkos-node-bft-ledger-service", + "snarkos-node-sync-communication-service", + "snarkos-node-sync-locators", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tokio", + "tracing", +] + +[[package]] +name = "snarkos-node-sync-communication-service" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "async-trait", + "tokio", +] + +[[package]] +name = "snarkos-node-sync-locators" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "anyhow", + "indexmap 2.2.6", + "serde", + "snarkvm 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tracing", +] + +[[package]] +name = "snarkos-node-tcp" +version = "2.2.7" +source = "git+https://github.com/AleoHQ/snarkos?rev=d69e417#d69e417325ff20da660db355db9d8cf025dfb9dd" +dependencies = [ + "async-trait", + "bytes", + "futures-util", + "once_cell", + "parking_lot", + "snarkos-node-metrics", + "tokio", + "tokio-util", + "tracing", +] + [[package]] name = "snarkvm" version = "0.16.19" @@ -2902,12 +3921,42 @@ dependencies = [ "rayon", "self_update 0.38.0", "serde_json", - "snarkvm-circuit", - "snarkvm-console", - "snarkvm-ledger", - "snarkvm-parameters", - "snarkvm-synthesizer", - "snarkvm-utilities", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-parameters 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "thiserror", + "ureq", + "walkdir", +] + +[[package]] +name = "snarkvm" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "anstyle", + "anyhow", + "clap", + "colored", + "dotenvy", + "indexmap 2.2.6", + "num-format", + "once_cell", + "parking_lot", + "rand", + "rayon", + "self_update 0.38.0", + "serde_json", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-metrics", + "snarkvm-parameters 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "thiserror", "ureq", "walkdir", @@ -2923,7 +3972,7 @@ dependencies = [ "blake2", "cfg-if", "fxhash", - "hashbrown 0.14.3", + "hashbrown 0.14.5", "hex", "indexmap 2.2.6", "itertools 0.11.0", @@ -2936,10 +3985,40 @@ dependencies = [ "serde", "sha2", "smallvec", - "snarkvm-curves", - "snarkvm-fields", - "snarkvm-parameters", - "snarkvm-utilities", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-parameters 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "thiserror", +] + +[[package]] +name = "snarkvm-algorithms" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "anyhow", + "blake2", + "cfg-if", + "fxhash", + "hashbrown 0.14.5", + "hex", + "indexmap 2.2.6", + "itertools 0.11.0", + "num-traits", + "parking_lot", + "rand", + "rand_chacha", + "rand_core", + "rayon", + "serde", + "sha2", + "smallvec", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-parameters 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "thiserror", ] @@ -2948,13 +4027,27 @@ name = "snarkvm-circuit" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-account", - "snarkvm-circuit-algorithms", - "snarkvm-circuit-collections", - "snarkvm-circuit-environment", - "snarkvm-circuit-network", - "snarkvm-circuit-program", - "snarkvm-circuit-types", + "snarkvm-circuit-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -2962,10 +4055,21 @@ name = "snarkvm-circuit-account" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-algorithms", - "snarkvm-circuit-network", - "snarkvm-circuit-types", - "snarkvm-console-account", + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-account" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -2973,9 +4077,19 @@ name = "snarkvm-circuit-algorithms" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-types", - "snarkvm-console-algorithms", - "snarkvm-fields", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-algorithms" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -2983,9 +4097,19 @@ name = "snarkvm-circuit-collections" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-algorithms", - "snarkvm-circuit-types", - "snarkvm-console-collections", + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-collections" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -2998,12 +4122,30 @@ dependencies = [ "nom", "num-traits", "once_cell", - "snarkvm-algorithms", - "snarkvm-circuit-environment-witness", - "snarkvm-console-network", - "snarkvm-curves", - "snarkvm-fields", - "snarkvm-utilities", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-environment-witness 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-environment" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "indexmap 2.2.6", + "itertools 0.11.0", + "nom", + "num-traits", + "once_cell", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-environment-witness 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3011,15 +4153,31 @@ name = "snarkvm-circuit-environment-witness" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" +[[package]] +name = "snarkvm-circuit-environment-witness" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" + [[package]] name = "snarkvm-circuit-network" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-algorithms", - "snarkvm-circuit-collections", - "snarkvm-circuit-types", - "snarkvm-console-network", + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-network" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3028,13 +4186,28 @@ version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ "paste", - "snarkvm-circuit-account", - "snarkvm-circuit-algorithms", - "snarkvm-circuit-collections", - "snarkvm-circuit-network", - "snarkvm-circuit-types", - "snarkvm-console-program", - "snarkvm-utilities", + "snarkvm-circuit-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-program" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "paste", + "snarkvm-circuit-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3042,14 +4215,29 @@ name = "snarkvm-circuit-types" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-circuit-types-address", - "snarkvm-circuit-types-boolean", - "snarkvm-circuit-types-field", - "snarkvm-circuit-types-group", - "snarkvm-circuit-types-integers", - "snarkvm-circuit-types-scalar", - "snarkvm-circuit-types-string", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-address 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-string 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-address 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-string 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3057,12 +4245,25 @@ name = "snarkvm-circuit-types-address" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-circuit-types-boolean", - "snarkvm-circuit-types-field", - "snarkvm-circuit-types-group", - "snarkvm-circuit-types-scalar", - "snarkvm-console-types-address", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-address 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types-address" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-address 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3070,8 +4271,17 @@ name = "snarkvm-circuit-types-boolean" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-console-types-boolean", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types-boolean" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3079,9 +4289,19 @@ name = "snarkvm-circuit-types-field" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-circuit-types-boolean", - "snarkvm-console-types-field", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types-field" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3089,11 +4309,23 @@ name = "snarkvm-circuit-types-group" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-circuit-types-boolean", - "snarkvm-circuit-types-field", - "snarkvm-circuit-types-scalar", - "snarkvm-console-types-group", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types-group" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3101,11 +4333,23 @@ name = "snarkvm-circuit-types-integers" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-circuit-types-boolean", - "snarkvm-circuit-types-field", - "snarkvm-circuit-types-scalar", - "snarkvm-console-types-integers", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types-integers" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3113,10 +4357,21 @@ name = "snarkvm-circuit-types-scalar" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-circuit-types-boolean", - "snarkvm-circuit-types-field", - "snarkvm-console-types-scalar", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types-scalar" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3124,11 +4379,23 @@ name = "snarkvm-circuit-types-string" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-circuit-environment", - "snarkvm-circuit-types-boolean", - "snarkvm-circuit-types-field", - "snarkvm-circuit-types-integers", - "snarkvm-console-types-string", + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-string 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-circuit-types-string" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-circuit-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-string 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3136,12 +4403,25 @@ name = "snarkvm-console" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-account", - "snarkvm-console-algorithms", - "snarkvm-console-collections", - "snarkvm-console-network", - "snarkvm-console-program", - "snarkvm-console-types", + "snarkvm-console-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3150,8 +4430,19 @@ version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ "bs58", - "snarkvm-console-network", - "snarkvm-console-types", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "zeroize", +] + +[[package]] +name = "snarkvm-console-account" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "bs58", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "zeroize", ] @@ -3162,9 +4453,22 @@ source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277c dependencies = [ "blake2s_simd", "smallvec", - "snarkvm-console-types", - "snarkvm-fields", - "snarkvm-utilities", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "tiny-keccak", +] + +[[package]] +name = "snarkvm-console-algorithms" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "blake2s_simd", + "smallvec", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "tiny-keccak", ] @@ -3175,8 +4479,19 @@ source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277c dependencies = [ "aleo-std", "rayon", - "snarkvm-console-algorithms", - "snarkvm-console-types", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-collections" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "rayon", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3191,15 +4506,38 @@ dependencies = [ "once_cell", "paste", "serde", - "snarkvm-algorithms", - "snarkvm-console-algorithms", - "snarkvm-console-collections", - "snarkvm-console-network-environment", - "snarkvm-console-types", - "snarkvm-curves", - "snarkvm-fields", - "snarkvm-parameters", - "snarkvm-utilities", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-parameters 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-network" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "anyhow", + "indexmap 2.2.6", + "itertools 0.11.0", + "lazy_static", + "once_cell", + "paste", + "serde", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-parameters 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3214,9 +4552,27 @@ dependencies = [ "num-traits", "rand", "serde", - "snarkvm-curves", - "snarkvm-fields", - "snarkvm-utilities", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "zeroize", +] + +[[package]] +name = "snarkvm-console-network-environment" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "anyhow", + "bech32", + "itertools 0.11.0", + "nom", + "num-traits", + "rand", + "serde", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "zeroize", ] @@ -3233,12 +4589,33 @@ dependencies = [ "once_cell", "paste", "serde_json", - "snarkvm-console-account", - "snarkvm-console-algorithms", - "snarkvm-console-collections", - "snarkvm-console-network", - "snarkvm-console-types", - "snarkvm-utilities", + "snarkvm-console-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-program" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "enum_index", + "enum_index_derive", + "indexmap 2.2.6", + "num-derive", + "num-traits", + "once_cell", + "paste", + "serde_json", + "snarkvm-console-account 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-collections 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-network 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3246,14 +4623,29 @@ name = "snarkvm-console-types" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", - "snarkvm-console-types-address", - "snarkvm-console-types-boolean", - "snarkvm-console-types-field", - "snarkvm-console-types-group", - "snarkvm-console-types-integers", - "snarkvm-console-types-scalar", - "snarkvm-console-types-string", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-address 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-string 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-types" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-address 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-string 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3261,10 +4653,21 @@ name = "snarkvm-console-types-address" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", - "snarkvm-console-types-boolean", - "snarkvm-console-types-field", - "snarkvm-console-types-group", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-types-address" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-group 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3272,7 +4675,15 @@ name = "snarkvm-console-types-boolean" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-types-boolean" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3280,8 +4691,18 @@ name = "snarkvm-console-types-field" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", - "snarkvm-console-types-boolean", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "zeroize", +] + +[[package]] +name = "snarkvm-console-types-field" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "zeroize", ] @@ -3290,10 +4711,21 @@ name = "snarkvm-console-types-group" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", - "snarkvm-console-types-boolean", - "snarkvm-console-types-field", - "snarkvm-console-types-scalar", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-types-group" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3301,10 +4733,21 @@ name = "snarkvm-console-types-integers" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", - "snarkvm-console-types-boolean", - "snarkvm-console-types-field", - "snarkvm-console-types-scalar", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-types-integers" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-scalar 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3312,9 +4755,20 @@ name = "snarkvm-console-types-scalar" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", - "snarkvm-console-types-boolean", - "snarkvm-console-types-field", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "zeroize", +] + +[[package]] +name = "snarkvm-console-types-scalar" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "zeroize", ] @@ -3323,10 +4777,21 @@ name = "snarkvm-console-types-string" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console-network-environment", - "snarkvm-console-types-boolean", - "snarkvm-console-types-field", - "snarkvm-console-types-integers", + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-console-types-string" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console-network-environment 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-boolean 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-field 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console-types-integers 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3338,8 +4803,22 @@ dependencies = [ "rayon", "rustc_version", "serde", - "snarkvm-fields", - "snarkvm-utilities", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "thiserror", +] + +[[package]] +name = "snarkvm-curves" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "rand", + "rayon", + "rustc_version", + "serde", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "thiserror", ] @@ -3355,7 +4834,24 @@ dependencies = [ "rand", "rayon", "serde", - "snarkvm-utilities", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "thiserror", + "zeroize", +] + +[[package]] +name = "snarkvm-fields" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "anyhow", + "itertools 0.11.0", + "num-traits", + "rand", + "rayon", + "serde", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "thiserror", "zeroize", ] @@ -3371,15 +4867,39 @@ dependencies = [ "parking_lot", "rand", "rayon", - "snarkvm-console", - "snarkvm-ledger-authority", - "snarkvm-ledger-block", - "snarkvm-ledger-committee", - "snarkvm-ledger-narwhal", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-authority 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "snarkvm-ledger-puzzle", - "snarkvm-ledger-query", - "snarkvm-ledger-store", - "snarkvm-synthesizer", + "snarkvm-ledger-query 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "time", + "tracing", +] + +[[package]] +name = "snarkvm-ledger" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "anyhow", + "indexmap 2.2.6", + "parking_lot", + "rand", + "rayon", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-authority 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-coinbase", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-query 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "time", "tracing", ] @@ -3392,8 +4912,20 @@ dependencies = [ "anyhow", "rand", "serde_json", - "snarkvm-console", - "snarkvm-ledger-narwhal-subdag", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-subdag 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-authority" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "anyhow", + "rand", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-subdag 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3404,15 +4936,54 @@ dependencies = [ "indexmap 2.2.6", "rayon", "serde_json", - "snarkvm-console", - "snarkvm-ledger-authority", - "snarkvm-ledger-committee", - "snarkvm-ledger-narwhal-batch-header", - "snarkvm-ledger-narwhal-subdag", - "snarkvm-ledger-narwhal-transmission-id", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-authority 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-subdag 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "snarkvm-ledger-puzzle", - "snarkvm-synthesizer-program", - "snarkvm-synthesizer-snark", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-block" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "indexmap 2.2.6", + "rayon", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-authority 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-coinbase", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-subdag 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", +] + +[[package]] +name = "snarkvm-ledger-coinbase" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "anyhow", + "bincode", + "blake2", + "indexmap 2.2.6", + "rayon", + "serde_json", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-fields 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3423,8 +4994,19 @@ dependencies = [ "indexmap 2.2.6", "rayon", "serde_json", - "snarkvm-console", - "snarkvm-ledger-narwhal-batch-header", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-committee" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "indexmap 2.2.6", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-metrics", ] [[package]] @@ -3432,12 +5014,25 @@ name = "snarkvm-ledger-narwhal" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-ledger-narwhal-batch-certificate", - "snarkvm-ledger-narwhal-batch-header", - "snarkvm-ledger-narwhal-data", - "snarkvm-ledger-narwhal-subdag", - "snarkvm-ledger-narwhal-transmission", - "snarkvm-ledger-narwhal-transmission-id", + "snarkvm-ledger-narwhal-batch-certificate 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-data 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-subdag 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-transmission 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-narwhal" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-ledger-narwhal-batch-certificate 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-data 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-subdag 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-transmission 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3448,9 +5043,22 @@ dependencies = [ "indexmap 2.2.6", "rayon", "serde_json", - "snarkvm-console", - "snarkvm-ledger-narwhal-batch-header", - "snarkvm-ledger-narwhal-transmission-id", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-narwhal-batch-certificate" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "indexmap 2.2.6", + "rayon", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3461,8 +5069,19 @@ dependencies = [ "indexmap 2.2.6", "rayon", "serde_json", - "snarkvm-console", - "snarkvm-ledger-narwhal-transmission-id", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-narwhal-batch-header" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "indexmap 2.2.6", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3472,7 +5091,18 @@ source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277c dependencies = [ "bytes", "serde_json", - "snarkvm-console", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "tokio", +] + +[[package]] +name = "snarkvm-ledger-narwhal-data" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "bytes", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "tokio", ] @@ -3484,11 +5114,25 @@ dependencies = [ "indexmap 2.2.6", "rayon", "serde_json", - "snarkvm-console", - "snarkvm-ledger-committee", - "snarkvm-ledger-narwhal-batch-certificate", - "snarkvm-ledger-narwhal-batch-header", - "snarkvm-ledger-narwhal-transmission-id", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-batch-certificate 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-narwhal-subdag" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "indexmap 2.2.6", + "rayon", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-batch-certificate 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-batch-header 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-transmission-id 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3498,21 +5142,43 @@ source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277c dependencies = [ "bytes", "serde_json", - "snarkvm-console", - "snarkvm-ledger-block", - "snarkvm-ledger-narwhal-data", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-data 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "snarkvm-ledger-puzzle", ] +[[package]] +name = "snarkvm-ledger-narwhal-transmission" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "bytes", + "serde_json", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-coinbase", + "snarkvm-ledger-narwhal-data 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", +] + [[package]] name = "snarkvm-ledger-narwhal-transmission-id" version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ - "snarkvm-console", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "snarkvm-ledger-puzzle", ] +[[package]] +name = "snarkvm-ledger-narwhal-transmission-id" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-coinbase", +] + [[package]] name = "snarkvm-ledger-puzzle" version = "0.16.19" @@ -3529,8 +5195,8 @@ dependencies = [ "rand_chacha", "rayon", "serde_json", - "snarkvm-algorithms", - "snarkvm-console", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", ] [[package]] @@ -3544,7 +5210,7 @@ dependencies = [ "rand", "rand_chacha", "rayon", - "snarkvm-console", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "snarkvm-ledger-puzzle", ] @@ -3555,9 +5221,22 @@ source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277c dependencies = [ "async-trait", "reqwest 0.11.27", - "snarkvm-console", - "snarkvm-ledger-store", - "snarkvm-synthesizer-program", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "ureq", +] + +[[package]] +name = "snarkvm-ledger-query" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "async-trait", + "reqwest 0.11.27", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "ureq", ] @@ -3574,14 +5253,48 @@ dependencies = [ "rayon", "serde", "serde_json", - "snarkvm-console", - "snarkvm-ledger-authority", - "snarkvm-ledger-block", - "snarkvm-ledger-committee", - "snarkvm-ledger-narwhal-batch-certificate", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-authority 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-narwhal-batch-certificate 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "snarkvm-ledger-puzzle", - "snarkvm-synthesizer-program", - "snarkvm-synthesizer-snark", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-ledger-store" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std-storage", + "anyhow", + "bincode", + "indexmap 2.2.6", + "once_cell", + "parking_lot", + "rayon", + "rocksdb", + "serde", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-authority 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-coinbase", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-narwhal-batch-certificate 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "tracing", +] + +[[package]] +name = "snarkvm-metrics" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "metrics", + "metrics-exporter-prometheus", ] [[package]] @@ -3604,8 +5317,33 @@ dependencies = [ "rand", "serde_json", "sha2", - "snarkvm-curves", - "snarkvm-utilities", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "thiserror", +] + +[[package]] +name = "snarkvm-parameters" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "anyhow", + "bincode", + "cfg-if", + "colored", + "curl", + "hex", + "indexmap 2.2.6", + "itertools 0.11.0", + "lazy_static", + "parking_lot", + "paste", + "rand", + "serde_json", + "sha2", + "snarkvm-curves 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "thiserror", ] @@ -3622,19 +5360,45 @@ dependencies = [ "parking_lot", "rand", "rayon", - "snarkvm-algorithms", - "snarkvm-circuit", - "snarkvm-console", - "snarkvm-ledger-block", - "snarkvm-ledger-committee", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", "snarkvm-ledger-puzzle", "snarkvm-ledger-puzzle-epoch", - "snarkvm-ledger-query", - "snarkvm-ledger-store", - "snarkvm-synthesizer-process", - "snarkvm-synthesizer-program", - "snarkvm-synthesizer-snark", - "snarkvm-utilities", + "snarkvm-ledger-query 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-process 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "tracing", +] + +[[package]] +name = "snarkvm-synthesizer" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "anyhow", + "indexmap 2.2.6", + "lru", + "parking_lot", + "rand", + "rayon", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-coinbase", + "snarkvm-ledger-committee 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-query 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-process 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "tracing", ] @@ -3651,14 +5415,37 @@ dependencies = [ "rand", "rayon", "serde_json", - "snarkvm-circuit", - "snarkvm-console", - "snarkvm-ledger-block", - "snarkvm-ledger-query", - "snarkvm-ledger-store", - "snarkvm-synthesizer-program", - "snarkvm-synthesizer-snark", - "snarkvm-utilities", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-query 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-synthesizer-process" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "colored", + "indexmap 2.2.6", + "once_cell", + "parking_lot", + "rand", + "rayon", + "serde_json", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-block 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-query 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-ledger-store 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-program 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-synthesizer-snark 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-utilities 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3671,8 +5458,22 @@ dependencies = [ "rand", "rand_chacha", "serde_json", - "snarkvm-circuit", - "snarkvm-console", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-synthesizer-program" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "indexmap 2.2.6", + "paste", + "rand", + "rand_chacha", + "serde_json", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3683,9 +5484,22 @@ dependencies = [ "bincode", "once_cell", "serde_json", - "snarkvm-algorithms", - "snarkvm-circuit", - "snarkvm-console", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", +] + +[[package]] +name = "snarkvm-synthesizer-snark" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "bincode", + "once_cell", + "serde_json", + "snarkvm-algorithms 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-circuit 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", + "snarkvm-console 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", ] [[package]] @@ -3704,7 +5518,28 @@ dependencies = [ "serde", "serde_json", "smol_str", - "snarkvm-utilities-derives", + "snarkvm-utilities-derives 0.16.19 (git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a)", + "thiserror", + "zeroize", +] + +[[package]] +name = "snarkvm-utilities" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "aleo-std", + "anyhow", + "bincode", + "num-bigint", + "num_cpus", + "rand", + "rand_xorshift", + "rayon", + "serde", + "serde_json", + "smol_str", + "snarkvm-utilities-derives 0.16.19 (git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e)", "thiserror", "zeroize", ] @@ -3715,15 +5550,41 @@ version = "0.16.19" source = "git+https://github.com/AleoHQ/snarkVM?rev=2cbf34a#2cbf34a1010bf781277cdc6ff1ae966230cf97c1" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", +] + +[[package]] +name = "snarkvm-utilities-derives" +version = "0.16.19" +source = "git+https://github.com/AleoHQ/snarkVM.git?rev=f761d1e#f761d1e53eca2505c0b6a089e84636cbc21f0ad7" +dependencies = [ + "proc-macro2", + "quote 1.0.36", + "syn 2.0.60", +] + +[[package]] +name = "snow" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "850948bee068e713b8ab860fe1adc4d109676ab4c3b621fd8147f06b261f2f85" +dependencies = [ + "aes-gcm", + "blake2", + "chacha20poly1305", + "curve25519-dalek", + "rand_core", + "rustc_version", + "sha2", + "subtle", ] [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys 0.52.0", @@ -3735,6 +5596,15 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6980e8d7511241f8acf4aebddbb1ff938df5eebe98691418c4468d0b72a96a67" +[[package]] +name = "spinning_top" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d96d2d1d716fb500937168cc09353ffdc7a012be8475ac7308e1bdf0e3923300" +dependencies = [ + "lock_api", +] + [[package]] name = "spki" version = "0.7.3" @@ -3746,10 +5616,42 @@ dependencies = [ ] [[package]] -name = "strsim" -version = "0.11.0" +name = "stability" +version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ee073c9e4cd00e28217186dbe12796d692868f432bf2e97ee73bed0c56dfa01" +checksum = "ebd1b177894da2a2d9120208c3386066af06a488255caabc5de8ddca22dbc3ce" +dependencies = [ + "quote 1.0.36", + "syn 1.0.109", +] + +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + +[[package]] +name = "strum" +version = "0.25.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "290d54ea6f91c969195bdbcd7442c8c2a2ba87da8bf60a7ee86a235d4bc1e125" +dependencies = [ + "strum_macros", +] + +[[package]] +name = "strum_macros" +version = "0.25.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "23dc1fa9ac9c169a78ba62f0b841814b7abae11bdd047b9c58f893439e309ea0" +dependencies = [ + "heck 0.4.1", + "proc-macro2", + "quote 1.0.36", + "rustversion", + "syn 2.0.60", +] [[package]] name = "subtle" @@ -3775,18 +5677,18 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b64191b275b66ffe2469e8af2c1cfe3bafa67b529ead792a6d0160888b4237" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote 1.0.36", "unicode-ident", ] [[package]] name = "syn" -version = "2.0.57" +version = "2.0.60" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11a6ae1e52eb25aab8f3fb9fca13be982a373b8f1157ca14b897a825ba4a2d35" +checksum = "909518bc7b1c9b779f1bbf07f2929d35af9f0f37e47c6e9ef7f9dddc1e1821f3" dependencies = [ "proc-macro2", - "quote 1.0.35", + "quote 1.0.36", "unicode-ident", ] @@ -3796,6 +5698,12 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" +[[package]] +name = "sync_wrapper" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a7065abeca94b6a8a577f9bd45aa0867a2238b74e8eb67cf10d492bc39351394" + [[package]] name = "synom" version = "0.11.3" @@ -3843,7 +5751,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "85b77fafb263dd9d05cbeac119526425676db3784113aa9295c88498cbf8bff1" dependencies = [ "cfg-if", - "fastrand 2.0.2", + "fastrand 2.1.0", "rustix", "windows-sys 0.52.0", ] @@ -3874,22 +5782,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "03468839009160513471e86a034bb2c5c0e4baae3b43f79ffc55c4a5427b3297" +checksum = "f0126ad08bff79f29fc3ae6a55cc72352056dfff61e3ff8bb7129476d44b23aa" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.58" +version = "1.0.59" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c61f3ba182994efc43764a46c018c347bc492c79f024e705f46567b418f6d4f7" +checksum = "d1cd413b5d558b4c5bf3680e324a6fa5014e7b7c067a51e69dbdf47eb7148b66" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -3904,15 +5812,17 @@ dependencies = [ [[package]] name = "time" -version = "0.3.34" +version = "0.3.36" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c8248b6521bb14bc45b4067159b9b6ad792e2d6d754d6c41fb50e29fefe38749" +checksum = "5dfd88e563464686c916c7e46e623e520ddc6d79fa6641390f2e3fa86e83e885" dependencies = [ "deranged", + "itoa", "num-conv", "powerfmt", "serde", "time-core", + "time-macros", ] [[package]] @@ -3921,6 +5831,16 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" +[[package]] +name = "time-macros" +version = "0.2.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f252a68540fde3a3877aeea552b832b40ab9a69e318efd078774a01ddee1ccf" +dependencies = [ + "num-conv", + "time-core", +] + [[package]] name = "tiny-keccak" version = "2.0.2" @@ -3966,11 +5886,25 @@ dependencies = [ "libc", "mio", "num_cpus", + "parking_lot", "pin-project-lite", + "signal-hook-registry", "socket2", + "tokio-macros", "windows-sys 0.48.0", ] +[[package]] +name = "tokio-macros" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b8a1e28f2deaa14e508979454cb3a223b10b938b45af148bc0986de36f1923b" +dependencies = [ + "proc-macro2", + "quote 1.0.36", + "syn 2.0.60", +] + [[package]] name = "tokio-native-tls" version = "0.3.1" @@ -3981,6 +5915,17 @@ dependencies = [ "tokio", ] +[[package]] +name = "tokio-stream" +version = "0.1.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "267ac89e0bec6e691e5813911606935d77c476ff49024f98abcea3e7b15e37af" +dependencies = [ + "futures-core", + "pin-project-lite", + "tokio", +] + [[package]] name = "tokio-util" version = "0.7.10" @@ -4027,9 +5972,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.22.9" +version = "0.22.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e40bb779c5187258fd7aad0eb68cb8706a0a81fa712fbea808ab43c4b8374c4" +checksum = "d3328d4f68a705b2a4498da1d580585d39a6510f98318a2cec3018a7ec61ddef" dependencies = [ "indexmap 2.2.6", "serde", @@ -4054,6 +5999,23 @@ dependencies = [ "tracing", ] +[[package]] +name = "tower-http" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e9cd434a998747dd2c4276bc96ee2e0c7a2eadf3cae88e52be55a05fa9053f5" +dependencies = [ + "bitflags 2.5.0", + "bytes", + "http 1.1.0", + "http-body 1.0.0", + "http-body-util", + "pin-project-lite", + "tower-layer", + "tower-service", + "tracing", +] + [[package]] name = "tower-layer" version = "0.3.2" @@ -4066,6 +6028,22 @@ version = "0.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6bc1c9ce2b5135ac7f93c72918fc37feb872bdc6a5533a8b85eb4b86bfdae52" +[[package]] +name = "tower_governor" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3790eac6ad3fb8d9d96c2b040ae06e2517aa24b067545d1078b96ae72f7bb9a7" +dependencies = [ + "axum", + "forwarded-header-value", + "governor", + "http 1.1.0", + "pin-project", + "thiserror", + "tower", + "tracing", +] + [[package]] name = "tracing" version = "0.1.40" @@ -4085,8 +6063,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "34704c8d6ebcbc939824180af020566b01a7c01f80641264eba0999f6c2b6be7" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -4116,10 +6094,14 @@ version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ad0f048c97dbd9faa9b7df56362b8ebcaa52adb06b498c050d2f4e32f90a7a8b" dependencies = [ + "matchers", "nu-ansi-term", + "once_cell", + "regex", "sharded-slab", "smallvec", "thread_local", + "tracing", "tracing-core", "tracing-log", ] @@ -4167,10 +6149,16 @@ dependencies = [ ] [[package]] -name = "unicode-width" -version = "0.1.11" +name = "unicode-segmentation" +version = "1.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e51733f11c9c4f72aa0c160008246859e340b00807569a0da0e7a1079b27ba85" +checksum = "d4c87d22b6e3f4a18d4d40ef354e97c90fcb14dd91d7dc0aa9d8a1172ebf7202" + +[[package]] +name = "unicode-width" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" [[package]] name = "unicode-xid" @@ -4178,6 +6166,16 @@ version = "0.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8c1f860d7d29cf02cb2f3f359fd35991af3d30bac52c57d265a3c461074cb4dc" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "untrusted" version = "0.9.0" @@ -4186,11 +6184,11 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "ureq" -version = "2.9.6" +version = "2.9.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "11f214ce18d8b2cbe84ed3aa6486ed3f5b285cf8d8fbdbce9f3f767a724adc35" +checksum = "d11a831e3c0b56e438a28308e7c810799e3c118417f342d30ecec080105395cd" dependencies = [ - "base64", + "base64 0.22.1", "flate2", "log", "once_cell", @@ -4298,8 +6296,8 @@ dependencies = [ "log", "once_cell", "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", "wasm-bindgen-shared", ] @@ -4321,7 +6319,7 @@ version = "0.2.92" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a1f8823de937b71b9460c0c34e25f3da88250760bec0ebac694b49997550d726" dependencies = [ - "quote 1.0.35", + "quote 1.0.36", "wasm-bindgen-macro-support", ] @@ -4332,8 +6330,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e94f17b526d0a461a191c78ea52bbce64071ed5c04c9ffe424dcb38f74171bb7" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -4381,11 +6379,11 @@ checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6" [[package]] name = "winapi-util" -version = "0.1.6" +version = "0.1.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f29e6f9198ba0d26b4c9f07dbe6f9ed633e1f3d5b8b414090084349e46a52596" +checksum = "4d4cc384e1e73b93bafa6fb4f1df8c41695c8a91cf9c4c64358067d15a7b6c6b" dependencies = [ - "winapi", + "windows-sys 0.52.0", ] [[package]] @@ -4409,7 +6407,7 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.4", + "windows-targets 0.52.5", ] [[package]] @@ -4429,17 +6427,18 @@ dependencies = [ [[package]] name = "windows-targets" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7dd37b7e5ab9018759f893a1952c9420d060016fc19a472b4bb20d1bdd694d1b" +checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" dependencies = [ - "windows_aarch64_gnullvm 0.52.4", - "windows_aarch64_msvc 0.52.4", - "windows_i686_gnu 0.52.4", - "windows_i686_msvc 0.52.4", - "windows_x86_64_gnu 0.52.4", - "windows_x86_64_gnullvm 0.52.4", - "windows_x86_64_msvc 0.52.4", + "windows_aarch64_gnullvm 0.52.5", + "windows_aarch64_msvc 0.52.5", + "windows_i686_gnu 0.52.5", + "windows_i686_gnullvm", + "windows_i686_msvc 0.52.5", + "windows_x86_64_gnu 0.52.5", + "windows_x86_64_gnullvm 0.52.5", + "windows_x86_64_msvc 0.52.5", ] [[package]] @@ -4450,9 +6449,9 @@ checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" [[package]] name = "windows_aarch64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bcf46cf4c365c6f2d1cc93ce535f2c8b244591df96ceee75d8e83deb70a9cac9" +checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" [[package]] name = "windows_aarch64_msvc" @@ -4462,9 +6461,9 @@ checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" [[package]] name = "windows_aarch64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "da9f259dd3bcf6990b55bffd094c4f7235817ba4ceebde8e6d11cd0c5633b675" +checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" [[package]] name = "windows_i686_gnu" @@ -4474,9 +6473,15 @@ checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" [[package]] name = "windows_i686_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b474d8268f99e0995f25b9f095bc7434632601028cf86590aea5c8a5cb7801d3" +checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" + +[[package]] +name = "windows_i686_gnullvm" +version = "0.52.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" [[package]] name = "windows_i686_msvc" @@ -4486,9 +6491,9 @@ checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" [[package]] name = "windows_i686_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1515e9a29e5bed743cb4415a9ecf5dfca648ce85ee42e15873c3cd8610ff8e02" +checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" [[package]] name = "windows_x86_64_gnu" @@ -4498,9 +6503,9 @@ checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" [[package]] name = "windows_x86_64_gnu" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5eee091590e89cc02ad514ffe3ead9eb6b660aedca2183455434b93546371a03" +checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" [[package]] name = "windows_x86_64_gnullvm" @@ -4510,9 +6515,9 @@ checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "77ca79f2451b49fa9e2af39f0747fe999fcda4f5e241b2898624dca97a1f2177" +checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" [[package]] name = "windows_x86_64_msvc" @@ -4522,15 +6527,15 @@ checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" [[package]] name = "windows_x86_64_msvc" -version = "0.52.4" +version = "0.52.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "32b752e52a2da0ddfbdbcc6fceadfeede4c939ed16d13e648833a61dfb611ed8" +checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" [[package]] name = "winnow" -version = "0.6.5" +version = "0.6.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dffa400e67ed5a4dd237983829e66475f0a4a26938c4b04c21baede6262215b8" +checksum = "14b9415ee827af173ebb3f15f9083df5a122eb93572ec28741fb153356ea2578" dependencies = [ "memchr", ] @@ -4545,6 +6550,16 @@ dependencies = [ "windows-sys 0.48.0", ] +[[package]] +name = "winreg" +version = "0.52.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a277a57398d4bfa075df44f501a17cfdf8542d224f0d36095a2adc7aee4ef0a5" +dependencies = [ + "cfg-if", + "windows-sys 0.48.0", +] + [[package]] name = "yaml-rust" version = "0.4.5" @@ -4570,8 +6585,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] @@ -4590,8 +6605,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ce36e65b0d2999d2aafac989fb249189a141aee1f53c612c1f37d72631959f69" dependencies = [ "proc-macro2", - "quote 1.0.35", - "syn 2.0.57", + "quote 1.0.36", + "syn 2.0.60", ] [[package]] diff --git a/Cargo.toml b/Cargo.toml index cea1de62e2..6842cf2577 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -43,6 +43,10 @@ members = [ "utils/retriever" ] +[workspace.dependencies.snarkos-cli] +git = "https://github.com/AleoHQ/snarkos" +rev = "d69e417" + [workspace.dependencies.snarkvm] #version = "0.16.19" git = "https://github.com/AleoHQ/snarkVM" @@ -149,6 +153,9 @@ version = "1.0" [dependencies.serial_test] version = "3.0.0" +[dependencies.snarkos-cli] +workspace = true + [dependencies.snarkvm] workspace = true features = [ "circuit", "console" ] diff --git a/leo/package/Cargo.toml b/leo/package/Cargo.toml index 605521c7bb..5cd491a2fb 100644 --- a/leo/package/Cargo.toml +++ b/leo/package/Cargo.toml @@ -26,6 +26,9 @@ version = "=1.11.0" path = "../../utils/retriever" version = "1.11.0" +[dependencies.snarkos-cli] +workspace = true + [dependencies.snarkvm] workspace = true From 768102fc969ac28f721858956f51dc48ce27c33a Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:04:22 -0700 Subject: [PATCH 12/15] `leo execute` w/ record payments & non-local program execution enabled --- leo/cli/commands/execute.rs | 112 ++++++++++++++++++++---------------- leo/cli/commands/mod.rs | 16 +++++- 2 files changed, 78 insertions(+), 50 deletions(-) diff --git a/leo/cli/commands/execute.rs b/leo/cli/commands/execute.rs index 3aae3745b3..8916094685 100644 --- a/leo/cli/commands/execute.rs +++ b/leo/cli/commands/execute.rs @@ -16,28 +16,27 @@ use super::*; use clap::Parser; -// use snarkos_cli::commands::{Developer, Execute as SnarkOSExecute}; +use snarkos_cli::commands::{Developer, Execute as SnarkOSExecute}; use snarkvm::{cli::Execute as SnarkVMExecute, prelude::Parser as SnarkVMParser}; +use snarkvm::cli::helpers::dotenv_private_key; /// Build, Prove and Run Leo program with inputs #[derive(Parser, Debug)] pub struct Execute { #[clap(name = "NAME", help = "The name of the function to execute.", default_value = "main")] name: String, - #[clap(name = "INPUTS", help = "The inputs to the program. If none are provided, the input file is used.")] + #[clap(name = "INPUTS", help = "The inputs to the program.")] inputs: Vec, #[clap(long, help = "Execute the transition on chain", default_value = "false")] broadcast: bool, - #[clap(long, help = "Custom priority fee in microcredits", default_value = "1000000")] - priority_fee: String, - #[clap(long, help = "Custom network", default_value = "testnet3")] - network: String, - #[clap(long, help = "Custom private key")] - private_key: Option, - #[arg(short, long, help = "The inputs to the program, from a file. Overrides the INPUTS argument.")] - file: Option, + #[clap(short, long, help = "Execute a different program from the one in the current working directory.")] + external: Option, + #[clap(flatten)] + fee_options: FeeOptions, #[clap(flatten)] compiler_options: BuildOptions, + #[arg(short, long, help = "The inputs to the program, from a file. Overrides the INPUTS argument.")] + file: Option, } impl Command for Execute { @@ -49,50 +48,65 @@ impl Command for Execute { } fn prelude(&self, context: Context) -> Result { + // No need to build if we are executing an external program. + if self.external.is_some() { + return Ok(()); + } (Build { options: self.compiler_options.clone() }).execute(context) } fn apply(self, context: Context, _input: Self::Input) -> Result { // If the `broadcast` flag is set, then broadcast the transaction. if self.broadcast { - // // Get the program name - // let project_name = context.open_manifest()?.program_id().to_string(); - // - // // Get the private key - // let mut private_key = self.private_key; - // if private_key.is_none() { - // private_key = - // Some(dotenv_private_key().map_err(CliError::failed_to_read_environment_private_key)?.to_string()); - // } - // - // // Execute program - // Developer::Execute( - // SnarkOSExecute::try_parse_from( - // [ - // vec![ - // "snarkos", - // "--private-key", - // private_key.as_ref().unwrap(), - // "--query", - // self.compiler_options.endpoint.as_str(), - // "--priority-fee", - // self.priority_fee.as_str(), - // "--broadcast", - // format!("{}/{}/transaction/broadcast", self.compiler_options.endpoint, self.network) - // .as_str(), - // project_name.as_str(), - // &self.name, - // ], - // self.inputs.iter().map(|input| input.as_str()).collect(), - // ] - // .concat(), - // ) - // .unwrap(), - // ) - // .parse() - // .map_err(CliError::failed_to_execute_deploy)?; + // Get the program name. Override local project if external name provided. + let program_name = match self.external { + Some(name) => name, + None => context.open_manifest()?.program_id().to_string(), + }; - return Err(PackageError::unimplemented_command("leo execute --broadcast").into()); + // Get the private key. + let private_key = match self.fee_options.private_key { + Some(private_key) => private_key, + None => dotenv_private_key().map_err(CliError::failed_to_read_environment_private_key)?.to_string(), + }; + + // Set deploy arguments. + let mut fee_args = vec!["snarkos".to_string(), + "--private-key".to_string(), + private_key.clone(), + "--query".to_string(), + self.compiler_options.endpoint.clone(), + "--priority-fee".to_string(), + self.fee_options.priority_fee.to_string(), + "--broadcast".to_string(), + format!("{}/{}/transaction/broadcast", self.compiler_options.endpoint, self.fee_options.network).to_string(), + ]; + + // Use record as payment option if it is provided. + if let Some(record) = self.fee_options.record.clone() { + fee_args.push("--record".to_string()); + fee_args.push(record); + }; + + // Execute program. + Developer::Execute( + SnarkOSExecute::try_parse_from( + [ + // The arguments for determining fee. + fee_args, + // The program ID and function name. + vec![program_name, self.name], + // The function inputs. + self.inputs, + ] + .concat(), + ) + .unwrap(), + ) + .parse() + .map_err(CliError::failed_to_execute_deploy)?; + + return Ok(()); } // If input values are provided, then run the program with those inputs. @@ -137,7 +151,7 @@ impl Command for Execute { arguments.push(String::from("--endpoint")); arguments.push(self.compiler_options.endpoint.clone()); - // Open the Leo build/ directory + // Open the Leo build/ directory. let path = context.dir()?; let build_directory = BuildDirectory::open(&path)?; @@ -145,7 +159,7 @@ impl Command for Execute { std::env::set_current_dir(&build_directory) .map_err(|err| PackageError::failed_to_set_cwd(build_directory.display(), err))?; - // Unset the Leo panic hook + // Unset the Leo panic hook. let _ = std::panic::take_hook(); // Call the `execute` command. diff --git a/leo/cli/commands/mod.rs b/leo/cli/commands/mod.rs index 7b2bf03517..6efa1f016e 100644 --- a/leo/cli/commands/mod.rs +++ b/leo/cli/commands/mod.rs @@ -124,7 +124,7 @@ pub trait Command { pub struct BuildOptions { #[clap( long, - help = "Endpoint to retrieve on-chain dependencies from.", + help = "Endpoint to retrieve network state from.", default_value = "http://api.explorer.aleo.org/v1" )] pub endpoint: String, @@ -165,3 +165,17 @@ pub struct BuildOptions { #[clap(long, help = "Disable type checking of nested conditional branches in finalize scope.")] pub disable_conditional_branch_type_checking: bool, } + +/// On Chain Execution Options to set preferences for keys, fees and networks. +/// Used by Execute and Deploy commands. +#[derive(Parser, Clone, Debug, Default)] +pub struct FeeOptions { + #[clap(long, help = "Priority fee in microcredits. Defaults to 1000000.", default_value = "1000000")] + pub(crate) priority_fee: String, + #[clap(long, help = "Network to broadcast to. Defaults to testnet3.", default_value = "testnet3")] + pub(crate) network: String, + #[clap(long, help = "Private key to authorize fee expenditure.")] + pub(crate) private_key: Option, + #[clap(short, help = "Record to pay for fee privately. If one is not specified, a public fee will be taken.", long)] + record: Option, +} From e670f15fdef5f13dec6fc1b423857775bd0e329a Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:08:38 -0700 Subject: [PATCH 13/15] leo deploy also with private fees --- leo/cli/commands/deploy.rs | 126 ++++++++++++++++++++----------------- 1 file changed, 67 insertions(+), 59 deletions(-) diff --git a/leo/cli/commands/deploy.rs b/leo/cli/commands/deploy.rs index a002363d4a..c403575308 100644 --- a/leo/cli/commands/deploy.rs +++ b/leo/cli/commands/deploy.rs @@ -14,25 +14,27 @@ // You should have received a copy of the GNU General Public License // along with the Leo library. If not, see . +use std::path::PathBuf; use super::*; -//use snarkos_cli::commands::{Deploy as SnarkOSDeploy, Developer}; +use snarkos_cli::commands::{Deploy as SnarkOSDeploy, Developer}; +use snarkvm::cli::helpers::dotenv_private_key; /// Deploys an Aleo program. #[derive(Parser, Debug)] pub struct Deploy { - #[clap(long, help = "Custom priority fee in microcredits", default_value = "1000000")] - pub(crate) priority_fee: String, - #[clap(long, help = "Custom query endpoint", default_value = "http://api.explorer.aleo.org/v1")] - pub(crate) endpoint: String, - #[clap(long, help = "Custom network", default_value = "testnet3")] - pub(crate) network: String, - #[clap(long, help = "Custom private key")] - pub(crate) private_key: Option, + #[clap( + long, + help = "Endpoint to retrieve network state from.", + default_value = "http://api.explorer.aleo.org/v1" + )] + pub endpoint: String, + #[clap(flatten)] + pub(crate) fee_options: FeeOptions, #[clap(long, help = "Disables building of the project before deployment", default_value = "false")] pub(crate) no_build: bool, #[clap(long, help = "Disables recursive deployment of dependencies", default_value = "false")] pub(crate) non_recursive: bool, - #[clap(long, help = "Custom wait gap between consecutive deployments", default_value = "12")] + #[clap(long, help = "Custom wait gap between consecutive deployments. This is to help prevent a program from trying to be included in an earlier block than its dependency program.", default_value = "12")] pub(crate) wait_gap: u64, } @@ -51,55 +53,61 @@ impl Command for Deploy { Ok(()) } - fn apply(self, _context: Context, _: Self::Input) -> Result { - // // Get the program name - // let project_name = context.open_manifest()?.program_id().to_string(); - // - // // Get the private key - // let mut private_key = self.private_key; - // if private_key.is_none() { - // private_key = - // Some(dotenv_private_key().map_err(CliError::failed_to_read_environment_private_key)?.to_string()); - // } - // - // let mut all_paths: Vec<(String, PathBuf)> = Vec::new(); - // - // // Extract post-ordered list of local dependencies' paths from `leo.lock` - // if !self.non_recursive { - // all_paths = context.local_dependency_paths()?; - // } - // - // // Add the parent program to be deployed last - // all_paths.push((project_name, context.dir()?.join("build"))); - // - // for (index, (name, path)) in all_paths.iter().enumerate() { - // // Set deploy arguments - // let deploy = SnarkOSDeploy::try_parse_from([ - // "snarkos", - // "--private-key", - // private_key.as_ref().unwrap(), - // "--query", - // self.endpoint.as_str(), - // "--priority-fee", - // self.priority_fee.as_str(), - // "--path", - // path.to_str().unwrap(), - // "--broadcast", - // format!("{}/{}/transaction/broadcast", self.endpoint, self.network).as_str(), - // &name, - // ]) - // .unwrap(); - // - // // Deploy program - // Developer::Deploy(deploy).parse().map_err(CliError::failed_to_execute_deploy)?; - // - // // Sleep for `wait_gap` seconds. - // // This helps avoid parents from being serialized before children. - // if index < all_paths.len() - 1 { - // std::thread::sleep(std::time::Duration::from_secs(self.wait_gap)); - // } - // } + fn apply(self, context: Context, _: Self::Input) -> Result { + // Get the program name. + let project_name = context.open_manifest()?.program_id().to_string(); + + // Get the private key. + let mut private_key = self.fee_options.private_key; + if private_key.is_none() { + private_key = + Some(dotenv_private_key().map_err(CliError::failed_to_read_environment_private_key)?.to_string()); + } + + let mut all_paths: Vec<(String, PathBuf)> = Vec::new(); + + // Extract post-ordered list of local dependencies' paths from `leo.lock`. + if !self.non_recursive { + all_paths = context.local_dependency_paths()?; + } + + // Add the parent program to be deployed last. + all_paths.push((project_name, context.dir()?.join("build"))); + + for (index, (name, path)) in all_paths.iter().enumerate() { + // Set the deploy arguments. + let mut deploy_args = vec!["snarkos".to_string(), + "--private-key".to_string(), + private_key.as_ref().unwrap().clone(), + "--query".to_string(), + self.endpoint.clone(), + "--priority-fee".to_string(), + self.fee_options.priority_fee.to_string(), + "--path".to_string(), + path.to_str().unwrap().parse().unwrap(), + "--broadcast".to_string(), + format!("{}/{}/transaction/broadcast", self.endpoint, self.fee_options.network).to_string(), + name.clone(), + ]; - Err(PackageError::unimplemented_command("leo deploy").into()) + // Use record as payment option if it is provided. + if let Some(record) = self.fee_options.record.clone() { + deploy_args.push("--record".to_string()); + deploy_args.push(record); + }; + + let deploy = SnarkOSDeploy::try_parse_from(deploy_args).unwrap(); + + // Deploy program. + Developer::Deploy(deploy).parse().map_err(CliError::failed_to_execute_deploy)?; + + // Sleep for `wait_gap` seconds. + // This helps avoid parents from being serialized before children. + if index < all_paths.len() - 1 { + std::thread::sleep(std::time::Duration::from_secs(self.wait_gap)); + } + } + + Ok(()) } } From 43abf873b081299f51d1015ed44f76ccaa39b932 Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Thu, 25 Apr 2024 16:09:59 -0700 Subject: [PATCH 14/15] style --- leo/cli/commands/deploy.rs | 55 +++++++++++++++++++------------------ leo/cli/commands/execute.rs | 28 +++++++++++-------- leo/cli/commands/mod.rs | 12 ++++---- 3 files changed, 50 insertions(+), 45 deletions(-) diff --git a/leo/cli/commands/deploy.rs b/leo/cli/commands/deploy.rs index c403575308..9fa4596ba4 100644 --- a/leo/cli/commands/deploy.rs +++ b/leo/cli/commands/deploy.rs @@ -14,19 +14,15 @@ // You should have received a copy of the GNU General Public License // along with the Leo library. If not, see . -use std::path::PathBuf; use super::*; use snarkos_cli::commands::{Deploy as SnarkOSDeploy, Developer}; use snarkvm::cli::helpers::dotenv_private_key; +use std::path::PathBuf; /// Deploys an Aleo program. #[derive(Parser, Debug)] pub struct Deploy { - #[clap( - long, - help = "Endpoint to retrieve network state from.", - default_value = "http://api.explorer.aleo.org/v1" - )] + #[clap(long, help = "Endpoint to retrieve network state from.", default_value = "http://api.explorer.aleo.org/v1")] pub endpoint: String, #[clap(flatten)] pub(crate) fee_options: FeeOptions, @@ -34,7 +30,11 @@ pub struct Deploy { pub(crate) no_build: bool, #[clap(long, help = "Disables recursive deployment of dependencies", default_value = "false")] pub(crate) non_recursive: bool, - #[clap(long, help = "Custom wait gap between consecutive deployments. This is to help prevent a program from trying to be included in an earlier block than its dependency program.", default_value = "12")] + #[clap( + long, + help = "Custom wait gap between consecutive deployments. This is to help prevent a program from trying to be included in an earlier block than its dependency program.", + default_value = "12" + )] pub(crate) wait_gap: u64, } @@ -56,43 +56,44 @@ impl Command for Deploy { fn apply(self, context: Context, _: Self::Input) -> Result { // Get the program name. let project_name = context.open_manifest()?.program_id().to_string(); - + // Get the private key. let mut private_key = self.fee_options.private_key; if private_key.is_none() { private_key = Some(dotenv_private_key().map_err(CliError::failed_to_read_environment_private_key)?.to_string()); } - + let mut all_paths: Vec<(String, PathBuf)> = Vec::new(); - + // Extract post-ordered list of local dependencies' paths from `leo.lock`. if !self.non_recursive { all_paths = context.local_dependency_paths()?; } - + // Add the parent program to be deployed last. all_paths.push((project_name, context.dir()?.join("build"))); - + for (index, (name, path)) in all_paths.iter().enumerate() { // Set the deploy arguments. - let mut deploy_args = vec!["snarkos".to_string(), - "--private-key".to_string(), - private_key.as_ref().unwrap().clone(), - "--query".to_string(), - self.endpoint.clone(), - "--priority-fee".to_string(), - self.fee_options.priority_fee.to_string(), - "--path".to_string(), - path.to_str().unwrap().parse().unwrap(), - "--broadcast".to_string(), - format!("{}/{}/transaction/broadcast", self.endpoint, self.fee_options.network).to_string(), - name.clone(), + let mut deploy_args = vec![ + "snarkos".to_string(), + "--private-key".to_string(), + private_key.as_ref().unwrap().clone(), + "--query".to_string(), + self.endpoint.clone(), + "--priority-fee".to_string(), + self.fee_options.priority_fee.to_string(), + "--path".to_string(), + path.to_str().unwrap().parse().unwrap(), + "--broadcast".to_string(), + format!("{}/{}/transaction/broadcast", self.endpoint, self.fee_options.network).to_string(), + name.clone(), ]; // Use record as payment option if it is provided. if let Some(record) = self.fee_options.record.clone() { - deploy_args.push("--record".to_string()); + deploy_args.push("--record".to_string()); deploy_args.push(record); }; @@ -100,14 +101,14 @@ impl Command for Deploy { // Deploy program. Developer::Deploy(deploy).parse().map_err(CliError::failed_to_execute_deploy)?; - + // Sleep for `wait_gap` seconds. // This helps avoid parents from being serialized before children. if index < all_paths.len() - 1 { std::thread::sleep(std::time::Duration::from_secs(self.wait_gap)); } } - + Ok(()) } } diff --git a/leo/cli/commands/execute.rs b/leo/cli/commands/execute.rs index 8916094685..fc697ada65 100644 --- a/leo/cli/commands/execute.rs +++ b/leo/cli/commands/execute.rs @@ -17,8 +17,10 @@ use super::*; use clap::Parser; use snarkos_cli::commands::{Developer, Execute as SnarkOSExecute}; -use snarkvm::{cli::Execute as SnarkVMExecute, prelude::Parser as SnarkVMParser}; -use snarkvm::cli::helpers::dotenv_private_key; +use snarkvm::{ + cli::{helpers::dotenv_private_key, Execute as SnarkVMExecute}, + prelude::Parser as SnarkVMParser, +}; /// Build, Prove and Run Leo program with inputs #[derive(Parser, Debug)] @@ -71,15 +73,17 @@ impl Command for Execute { }; // Set deploy arguments. - let mut fee_args = vec!["snarkos".to_string(), - "--private-key".to_string(), - private_key.clone(), - "--query".to_string(), - self.compiler_options.endpoint.clone(), - "--priority-fee".to_string(), - self.fee_options.priority_fee.to_string(), - "--broadcast".to_string(), - format!("{}/{}/transaction/broadcast", self.compiler_options.endpoint, self.fee_options.network).to_string(), + let mut fee_args = vec![ + "snarkos".to_string(), + "--private-key".to_string(), + private_key.clone(), + "--query".to_string(), + self.compiler_options.endpoint.clone(), + "--priority-fee".to_string(), + self.fee_options.priority_fee.to_string(), + "--broadcast".to_string(), + format!("{}/{}/transaction/broadcast", self.compiler_options.endpoint, self.fee_options.network) + .to_string(), ]; // Use record as payment option if it is provided. @@ -87,7 +91,7 @@ impl Command for Execute { fee_args.push("--record".to_string()); fee_args.push(record); }; - + // Execute program. Developer::Execute( SnarkOSExecute::try_parse_from( diff --git a/leo/cli/commands/mod.rs b/leo/cli/commands/mod.rs index 6efa1f016e..d075741bd0 100644 --- a/leo/cli/commands/mod.rs +++ b/leo/cli/commands/mod.rs @@ -122,11 +122,7 @@ pub trait Command { /// require Build command output as their input. #[derive(Parser, Clone, Debug, Default)] pub struct BuildOptions { - #[clap( - long, - help = "Endpoint to retrieve network state from.", - default_value = "http://api.explorer.aleo.org/v1" - )] + #[clap(long, help = "Endpoint to retrieve network state from.", default_value = "http://api.explorer.aleo.org/v1")] pub endpoint: String, #[clap(long, help = "Does not recursively compile dependencies.")] pub non_recursive: bool, @@ -176,6 +172,10 @@ pub struct FeeOptions { pub(crate) network: String, #[clap(long, help = "Private key to authorize fee expenditure.")] pub(crate) private_key: Option, - #[clap(short, help = "Record to pay for fee privately. If one is not specified, a public fee will be taken.", long)] + #[clap( + short, + help = "Record to pay for fee privately. If one is not specified, a public fee will be taken.", + long + )] record: Option, } From 4c7b727487205f3064535841ca948ba16a0f6e2e Mon Sep 17 00:00:00 2001 From: evan-schott <53463459+evan-schott@users.noreply.github.com> Date: Tue, 30 Apr 2024 17:40:25 -0700 Subject: [PATCH 15/15] style --- errors/src/errors/cli/cli_errors.rs | 7 ++++++ errors/src/errors/package/package_errors.rs | 13 ++++++++++ leo/cli/commands/deploy.rs | 18 +++++++------ leo/cli/commands/execute.rs | 28 +++++++++++++++------ leo/cli/commands/mod.rs | 2 +- 5 files changed, 52 insertions(+), 16 deletions(-) diff --git a/errors/src/errors/cli/cli_errors.rs b/errors/src/errors/cli/cli_errors.rs index 27923bb65e..7e7519cca4 100644 --- a/errors/src/errors/cli/cli_errors.rs +++ b/errors/src/errors/cli/cli_errors.rs @@ -215,4 +215,11 @@ create_messages!( msg: format!("Failed to read private key from environment.\nIO Error: {error}"), help: Some("Pass in private key using `--private-key ` or create a .env file with your private key information. See examples for formatting information.".to_string()), } + + @backtraced + recursive_deploy_with_record { + args: (), + msg: "Cannot combine recursive deploy with private fee.".to_string(), + help: None, + } ); diff --git a/errors/src/errors/package/package_errors.rs b/errors/src/errors/package/package_errors.rs index 711bd8184f..436fca263a 100644 --- a/errors/src/errors/package/package_errors.rs +++ b/errors/src/errors/package/package_errors.rs @@ -370,4 +370,17 @@ create_messages!( help: None, } + @backtraced + missing_on_chain_program_name { + args: (), + msg: "The name of the program to execute on-chain is missing.".to_string(), + help: Some("Either set `--local` to execute the local program on chain, or set `--program `.".to_string()), + } + + @backtraced + conflicting_on_chain_program_name { + args: (first: impl Display, second: impl Display), + msg: format!("Conflicting program names given to execute on chain: `{first}` and `{second}`."), + help: Some("Either set `--local` to execute the local program on chain, or set `--program `.".to_string()), + } ); diff --git a/leo/cli/commands/deploy.rs b/leo/cli/commands/deploy.rs index 9fa4596ba4..7329637a38 100644 --- a/leo/cli/commands/deploy.rs +++ b/leo/cli/commands/deploy.rs @@ -26,16 +26,16 @@ pub struct Deploy { pub endpoint: String, #[clap(flatten)] pub(crate) fee_options: FeeOptions, - #[clap(long, help = "Disables building of the project before deployment", default_value = "false")] + #[clap(long, help = "Disables building of the project before deployment.", default_value = "false")] pub(crate) no_build: bool, - #[clap(long, help = "Disables recursive deployment of dependencies", default_value = "false")] - pub(crate) non_recursive: bool, + #[clap(long, help = "Enables recursive deployment of dependencies.", default_value = "false")] + pub(crate) recursive: bool, #[clap( long, - help = "Custom wait gap between consecutive deployments. This is to help prevent a program from trying to be included in an earlier block than its dependency program.", + help = "Time in seconds to wait between consecutive deployments. This is to help prevent a program from trying to be included in an earlier block than its dependency program.", default_value = "12" )] - pub(crate) wait_gap: u64, + pub(crate) wait: u64, } impl Command for Deploy { @@ -67,7 +67,11 @@ impl Command for Deploy { let mut all_paths: Vec<(String, PathBuf)> = Vec::new(); // Extract post-ordered list of local dependencies' paths from `leo.lock`. - if !self.non_recursive { + if self.recursive { + // Cannot combine with private fee. + if self.fee_options.record.is_some() { + return Err(CliError::recursive_deploy_with_record().into()); + } all_paths = context.local_dependency_paths()?; } @@ -105,7 +109,7 @@ impl Command for Deploy { // Sleep for `wait_gap` seconds. // This helps avoid parents from being serialized before children. if index < all_paths.len() - 1 { - std::thread::sleep(std::time::Duration::from_secs(self.wait_gap)); + std::thread::sleep(std::time::Duration::from_secs(self.wait)); } } diff --git a/leo/cli/commands/execute.rs b/leo/cli/commands/execute.rs index fc697ada65..b7b135081b 100644 --- a/leo/cli/commands/execute.rs +++ b/leo/cli/commands/execute.rs @@ -29,10 +29,12 @@ pub struct Execute { name: String, #[clap(name = "INPUTS", help = "The inputs to the program.")] inputs: Vec, - #[clap(long, help = "Execute the transition on chain", default_value = "false")] + #[clap(short, long, help = "Execute the transition on-chain.", default_value = "false")] broadcast: bool, - #[clap(short, long, help = "Execute a different program from the one in the current working directory.")] - external: Option, + #[clap(short, long, help = "Execute the local program on-chain.", default_value = "false")] + local: bool, + #[clap(short, long, help = "The program to execute on-chain.")] + program: Option, #[clap(flatten)] fee_options: FeeOptions, #[clap(flatten)] @@ -51,7 +53,7 @@ impl Command for Execute { fn prelude(&self, context: Context) -> Result { // No need to build if we are executing an external program. - if self.external.is_some() { + if self.program.is_some() { return Ok(()); } (Build { options: self.compiler_options.clone() }).execute(context) @@ -60,10 +62,20 @@ impl Command for Execute { fn apply(self, context: Context, _input: Self::Input) -> Result { // If the `broadcast` flag is set, then broadcast the transaction. if self.broadcast { - // Get the program name. Override local project if external name provided. - let program_name = match self.external { - Some(name) => name, - None => context.open_manifest()?.program_id().to_string(), + // Get the program name. + let program_name = match (self.program, self.local) { + (Some(name), true) => { + let local = context.open_manifest()?.program_id().to_string(); + // Throw error if local name doesn't match the specified name. + if name == local { + local + } else { + return Err(PackageError::conflicting_on_chain_program_name(local, name).into()); + } + } + (Some(name), false) => name, + (None, true) => context.open_manifest()?.program_id().to_string(), + (None, false) => return Err(PackageError::missing_on_chain_program_name().into()), }; // Get the private key. diff --git a/leo/cli/commands/mod.rs b/leo/cli/commands/mod.rs index d075741bd0..f784e2046c 100644 --- a/leo/cli/commands/mod.rs +++ b/leo/cli/commands/mod.rs @@ -166,7 +166,7 @@ pub struct BuildOptions { /// Used by Execute and Deploy commands. #[derive(Parser, Clone, Debug, Default)] pub struct FeeOptions { - #[clap(long, help = "Priority fee in microcredits. Defaults to 1000000.", default_value = "1000000")] + #[clap(long, help = "Priority fee in microcredits. Defaults to 0.", default_value = "0")] pub(crate) priority_fee: String, #[clap(long, help = "Network to broadcast to. Defaults to testnet3.", default_value = "testnet3")] pub(crate) network: String,