Merge pull request #1026 from AleoHQ/feat/update-snarkvm-0.5.4

bump snarkvm module versions to 0.5.4
This commit is contained in:
Collin Chin 2021-06-08 13:52:39 -07:00 committed by GitHub
commit 9a14f4f48f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
187 changed files with 687 additions and 812 deletions

622
Cargo.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -70,22 +70,22 @@ path = "./synthesizer"
version = "1.5.0"
[dependencies.snarkvm-algorithms]
version = "0.3.1"
version = "0.5.4"
[dependencies.snarkvm-curves]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-gadgets]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-r1cs]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-utilities]
version = "0.3.1"
version = "0.5.4"
[dependencies.anyhow]
version = "1.0"

View File

@ -57,27 +57,27 @@ version = "1.5.0"
version = "0.4"
[dependencies.snarkvm-curves]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-fields]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-dpc]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-gadgets]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-r1cs]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-utilities]
version = "0.3.1"
version = "0.5.4"
[dependencies.bincode]
version = "1.3"
@ -118,7 +118,7 @@ version = "0.3"
default-features = false
[dev-dependencies.snarkvm-algorithms]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dev-dependencies.tempfile]

View File

@ -32,7 +32,7 @@ use leo_package::inputs::InputPairs;
use leo_parser::parse_ast;
use leo_state::verify_local_data_commitment;
use snarkvm_dpc::{base_dpc::instantiated::Components, SystemParameters};
use snarkvm_dpc::testnet1::{instantiated::Components, parameters::SystemParameters};
use snarkvm_fields::PrimeField;
use snarkvm_r1cs::{ConstraintSynthesizer, ConstraintSystem, SynthesisError};

View File

@ -26,7 +26,7 @@ use crate::{
use leo_asg::{Expression, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -20,7 +20,7 @@ use crate::{errors::ConsoleError, program::ConstrainedProgram, statement::get_in
use leo_asg::{ConsoleFunction, ConsoleStatement};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -29,7 +29,7 @@ use crate::{
use leo_asg::{ConstInt, Expression, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::{
use snarkvm_gadgets::{
boolean::Boolean,
eq::{EqGadget, EvaluateEqGadget},
select::CondSelectGadget,

View File

@ -20,7 +20,7 @@ use crate::{errors::ExpressionError, program::ConstrainedProgram, value::Constra
use leo_asg::{Expression, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::select::CondSelectGadget;
use snarkvm_gadgets::traits::select::CondSelectGadget;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -30,7 +30,7 @@ use crate::{
use leo_asg::{expression::*, ConstValue, Expression, Node, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -20,7 +20,7 @@ use crate::{errors::BooleanError, value::ConstrainedValue, GroupType};
use leo_asg::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
pub fn enforce_and<'a, F: PrimeField, G: GroupType<F>, CS: ConstraintSystem<F>>(

View File

@ -20,7 +20,7 @@ use crate::{errors::BooleanError, value::ConstrainedValue, GroupType};
use leo_asg::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
pub fn enforce_or<'a, F: PrimeField, G: GroupType<F>, CS: ConstraintSystem<F>>(

View File

@ -20,7 +20,7 @@ use crate::{enforce_and, errors::ExpressionError, value::ConstrainedValue, Group
use leo_asg::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::{boolean::Boolean, eq::EvaluateEqGadget};
use snarkvm_gadgets::{boolean::Boolean, eq::EvaluateEqGadget};
use snarkvm_r1cs::ConstraintSystem;
pub fn evaluate_eq<'a, F: PrimeField, G: GroupType<F>, CS: ConstraintSystem<F>>(

View File

@ -20,7 +20,7 @@ use crate::{errors::ExpressionError, value::ConstrainedValue, GroupType};
use leo_asg::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::bits::ComparatorGadget;
use snarkvm_gadgets::traits::bits::ComparatorGadget;
use snarkvm_r1cs::ConstraintSystem;
pub fn evaluate_ge<'a, F: PrimeField, G: GroupType<F>, CS: ConstraintSystem<F>>(

View File

@ -20,7 +20,7 @@ use crate::{errors::ExpressionError, value::ConstrainedValue, GroupType};
use leo_asg::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::bits::ComparatorGadget;
use snarkvm_gadgets::traits::bits::ComparatorGadget;
use snarkvm_r1cs::ConstraintSystem;
pub fn evaluate_gt<'a, F: PrimeField, G: GroupType<F>, CS: ConstraintSystem<F>>(

View File

@ -20,7 +20,7 @@ use crate::{errors::ExpressionError, value::ConstrainedValue, GroupType};
use leo_asg::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::bits::ComparatorGadget;
use snarkvm_gadgets::traits::bits::ComparatorGadget;
use snarkvm_r1cs::ConstraintSystem;
pub fn evaluate_le<'a, F: PrimeField, G: GroupType<F>, CS: ConstraintSystem<F>>(

View File

@ -20,7 +20,7 @@ use crate::{errors::ExpressionError, value::ConstrainedValue, GroupType};
use leo_asg::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::bits::EvaluateLtGadget;
use snarkvm_gadgets::traits::bits::EvaluateLtGadget;
use snarkvm_r1cs::ConstraintSystem;
pub fn evaluate_lt<'a, F: PrimeField, G: GroupType<F>, CS: ConstraintSystem<F>>(

View File

@ -22,7 +22,7 @@ use leo_asg::{Expression, Function, FunctionQualifier};
use std::cell::Cell;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -36,7 +36,7 @@ use leo_asg::{ConstInt, Type};
use leo_ast::{InputValue, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -33,7 +33,7 @@ use leo_asg::{
};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -27,7 +27,7 @@ use crate::{
use leo_asg::{Span, Type};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::{boolean::Boolean, select::CondSelectGadget};
use snarkvm_gadgets::{boolean::Boolean, select::CondSelectGadget};
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -17,13 +17,13 @@
use super::CoreCircuit;
use crate::{errors::ExpressionError, ConstrainedValue, GroupType, Integer};
use leo_asg::{Function, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::{
algorithms::prf::Blake2sGadget,
traits::{
algorithms::PRFGadget,
utilities::{uint::UInt8, ToBytesGadget},
},
bits::ToBytesGadget,
integers::uint::UInt8,
traits::algorithms::PRFGadget,
};
use snarkvm_r1cs::ConstraintSystem;

View File

@ -20,7 +20,7 @@ use crate::{arithmetic::*, errors::StatementError, program::ConstrainedProgram,
use leo_asg::{AssignOperation, AssignStatement, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::{boolean::Boolean, select::CondSelectGadget};
use snarkvm_gadgets::{boolean::Boolean, traits::select::CondSelectGadget};
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -28,7 +28,7 @@ use crate::{
use leo_asg::{ConstInt, Expression, Node};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::{eq::EvaluateEqGadget, select::CondSelectGadget};
use snarkvm_gadgets::{eq::EvaluateEqGadget, select::CondSelectGadget};
use snarkvm_r1cs::ConstraintSystem;
use super::ResolverContext;

View File

@ -20,7 +20,7 @@ use crate::{errors::StatementError, program::ConstrainedProgram, value::Constrai
use leo_asg::{AssignAccess, AssignOperation, AssignStatement, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
mod array_index;

View File

@ -20,7 +20,7 @@ use crate::{program::ConstrainedProgram, GroupType, IndicatorAndConstrainedValue
use leo_asg::BlockStatement;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -27,7 +27,7 @@ use crate::{
use leo_asg::ConditionalStatement;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
fn indicator_to_string(indicator: &Boolean) -> String {

View File

@ -29,7 +29,7 @@ use crate::{
use leo_asg::IterationStatement;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::{boolean::Boolean, uint::UInt32};
use snarkvm_gadgets::{boolean::Boolean, integers::uint::UInt32};
use snarkvm_r1cs::ConstraintSystem;
impl<'a, F: PrimeField, G: GroupType<F>> ConstrainedProgram<'a, F, G> {

View File

@ -20,7 +20,7 @@ use crate::{errors::StatementError, program::ConstrainedProgram, value::Constrai
use leo_asg::{Node, Statement};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::boolean::Boolean;
use snarkvm_gadgets::boolean::Boolean;
use snarkvm_r1cs::ConstraintSystem;
pub type StatementResult<T> = Result<T, StatementError>;

View File

@ -17,14 +17,16 @@
use crate::{errors::AddressError, ConstrainedValue, GroupType, IntegerTrait};
use leo_ast::{InputValue, Span};
use snarkvm_dpc::{account::AccountAddress, base_dpc::instantiated::Components};
use snarkvm_dpc::{account::AccountAddress, testnet1::instantiated::Components};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::{
alloc::AllocGadget,
use snarkvm_gadgets::{
boolean::Boolean,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
select::CondSelectGadget,
uint::UInt8,
integers::uint::UInt8,
traits::{
alloc::AllocGadget,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
select::CondSelectGadget,
},
};
use snarkvm_r1cs::{Assignment, ConstraintSystem, SynthesisError};
use snarkvm_utilities::ToBytes;

View File

@ -20,7 +20,7 @@ use crate::{errors::BooleanError, value::ConstrainedValue, GroupType};
use leo_ast::{InputValue, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::{alloc::AllocGadget, boolean::Boolean};
use snarkvm_gadgets::{boolean::Boolean, traits::alloc::AllocGadget};
use snarkvm_r1cs::{ConstraintSystem, SynthesisError};
pub(crate) fn allocate_bool<F: PrimeField, CS: ConstraintSystem<F>>(

View File

@ -23,11 +23,11 @@ use crate::{
use leo_ast::{InputValue, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::utilities::{
bits::comparator::{ComparatorGadget, EvaluateLtGadget},
use snarkvm_gadgets::{
boolean::Boolean,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget, NEqGadget},
select::CondSelectGadget,
traits::bits::comparator::{ComparatorGadget, EvaluateLtGadget},
};
use snarkvm_r1cs::{ConstraintSystem, SynthesisError};

View File

@ -21,19 +21,16 @@ use leo_ast::Span;
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::{
bits::{ToBitsBEGadget, ToBytesGadget},
boolean::Boolean,
fields::FpGadget,
integers::uint::UInt8,
traits::{
alloc::AllocGadget,
bits::comparator::{ComparatorGadget, EvaluateLtGadget},
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget, NEqGadget},
fields::FieldGadget,
utilities::{
alloc::AllocGadget,
bits::comparator::{ComparatorGadget, EvaluateLtGadget},
boolean::Boolean,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget, NEqGadget},
select::CondSelectGadget,
uint::UInt8,
ToBitsBEGadget,
ToBytesGadget,
},
select::CondSelectGadget,
},
};
use snarkvm_r1cs::{ConstraintSystem, SynthesisError};

View File

@ -20,7 +20,7 @@ use crate::{errors::FieldError, number_string_typing, value::ConstrainedValue, F
use leo_ast::{InputValue, Span};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::alloc::AllocGadget;
use snarkvm_gadgets::traits::alloc::AllocGadget;
use snarkvm_r1cs::{ConstraintSystem, SynthesisError};
pub(crate) fn allocate_field<F: PrimeField, CS: ConstraintSystem<F>>(

View File

@ -20,12 +20,13 @@ use crate::errors::GroupError;
use leo_asg::{GroupValue, Span};
use snarkvm_fields::{Field, One};
use snarkvm_gadgets::traits::utilities::{
alloc::AllocGadget,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
select::CondSelectGadget,
ToBitsBEGadget,
ToBytesGadget,
use snarkvm_gadgets::{
bits::{ToBitsBEGadget, ToBytesGadget},
traits::{
alloc::AllocGadget,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
select::CondSelectGadget,
},
};
use snarkvm_r1cs::ConstraintSystem;
use std::fmt::{Debug, Display};

View File

@ -25,21 +25,18 @@ use snarkvm_curves::{
};
use snarkvm_fields::{Fp256, One, Zero};
use snarkvm_gadgets::{
bits::{ToBitsBEGadget, ToBytesGadget},
boolean::Boolean,
curves::edwards_bls12::EdwardsBlsGadget,
fields::{AllocatedFp, FpGadget},
integers::uint::UInt8,
traits::{
alloc::AllocGadget,
curves::GroupGadget,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
fields::FieldGadget,
utilities::{
alloc::AllocGadget,
boolean::Boolean,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
select::CondSelectGadget,
uint::UInt8,
ToBitsBEGadget,
ToBytesGadget,
},
},
CondSelectGadget,
};
use snarkvm_r1cs::{ConstraintSystem, SynthesisError};
use std::{

View File

@ -20,15 +20,19 @@ use leo_asg::{ConstInt, IntegerType, Span};
use leo_ast::InputValue;
use snarkvm_fields::{Field, PrimeField};
use snarkvm_gadgets::traits::utilities::{
alloc::AllocGadget,
arithmetic::{Add, Div, Mul, Neg, Pow, Sub},
bits::comparator::{ComparatorGadget, EvaluateLtGadget},
use snarkvm_gadgets::{
boolean::Boolean,
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
int::{Int128, Int16, Int32, Int64, Int8},
select::CondSelectGadget,
uint::{Sub as UIntSub, *},
integers::{
int::{Int128, Int16, Int32, Int64, Int8},
uint::{Sub as UIntSub, *},
},
traits::{
alloc::AllocGadget,
bits::comparator::{ComparatorGadget, EvaluateLtGadget},
eq::{ConditionalEqGadget, EqGadget, EvaluateEqGadget},
integers::{Add, Div, Mul, Neg, Pow, Sub},
select::CondSelectGadget,
},
};
use snarkvm_r1cs::{ConstraintSystem, SynthesisError};
use std::{convert::TryInto, fmt};

View File

@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with the Leo library. If not, see <https://www.gnu.org/licenses/>.
pub use snarkvm_gadgets::traits::utilities::integer::Integer as IntegerTrait;
pub use snarkvm_gadgets::integer::Integer as IntegerTrait;
/// Useful macros to avoid duplicating `match` constructions.
#[macro_export]

View File

@ -20,7 +20,10 @@ use crate::{errors::ValueError, Address, Char, FieldType, GroupType, Integer};
use leo_asg::{Circuit, Identifier, Span, Type};
use snarkvm_fields::PrimeField;
use snarkvm_gadgets::traits::utilities::{boolean::Boolean, eq::ConditionalEqGadget, select::CondSelectGadget};
use snarkvm_gadgets::{
bits::Boolean,
traits::{eq::ConditionalEqGadget, select::CondSelectGadget},
};
use snarkvm_r1cs::{ConstraintSystem, SynthesisError};
use std::fmt;

View File

@ -17,6 +17,11 @@ include = [ "Cargo.toml", "src", "README.md", "LICENSE.md" ]
license = "GPL-3.0"
edition = "2018"
[dependencies]
abnf = "0.11.3"
anyhow = "1.0"
#[dependencies.abnf]
#version = "0.11.3"
#default-features = false
[dependencies.anyhow]
version = "1.0"

View File

@ -38,180 +38,180 @@
// ;;;;;;;;;
// ```
//
use abnf::types::{Node, Rule};
use anyhow::Result;
use std::collections::{HashMap, HashSet};
/// Processor's scope. Used when code block or definition starts or ends.
#[derive(Debug, Clone)]
enum Scope {
Free,
Code,
Definition(Rule),
}
/// Transforms abnf file into Markdown.
#[derive(Debug, Clone)]
struct Processor<'a> {
rules: HashMap<String, Rule>,
grammar: &'a str,
scope: Scope,
line: u32,
out: String,
}
impl<'a> Processor<'a> {
fn new(grammar: &'a str, abnf: Vec<Rule>) -> Processor<'a> {
// we need a hashmap to pull rules easily
let rules: HashMap<String, Rule> = abnf.into_iter().map(|rule| (rule.name().to_string(), rule)).collect();
Processor {
grammar,
line: 0,
out: String::new(),
rules,
scope: Scope::Free,
}
}
/// Main function for this struct.
/// Goes through each line and transforms it into proper markdown.
fn process(&mut self) {
let lines = self.grammar.lines();
let mut prev = "";
for line in lines {
self.line += 1;
// code block in comment (not highlighted as abnf)
if let Some(code) = line.strip_prefix("; ") {
self.enter_scope(Scope::Code);
self.append_str(code);
// just comment. end of code block
} else if let Some(code) = line.strip_prefix("; ") {
self.enter_scope(Scope::Free);
self.append_str(code);
// horizontal rule - section separator
} else if line.starts_with(";;;;;;;;;;") {
self.enter_scope(Scope::Free);
self.append_str("\n--------\n");
// empty line in comment. end of code block
} else if line.starts_with(';') {
self.enter_scope(Scope::Free);
self.append_str("\n\n");
// just empty line. end of doc, start of definition
} else if line.is_empty() {
self.enter_scope(Scope::Free);
self.append_str("");
// definition (may be multiline)
} else {
// if there's an equality sign and previous line was empty
if line.contains('=') && prev.is_empty() {
let (def, _) = line.split_at(line.find('=').unwrap());
let def = def.trim();
// try to find rule matching definition or fail
let rule = self.rules.get(&def.to_string()).cloned().unwrap();
self.enter_scope(Scope::Definition(rule));
}
self.append_str(line);
}
prev = line;
}
}
/// Append new line into output, add newline character.
fn append_str(&mut self, line: &str) {
self.out.push_str(line);
self.out.push('\n');
}
/// Enter new scope (definition or code block). Allows customizing
/// pre and post lines for each scope entered or exited.
fn enter_scope(&mut self, new_scope: Scope) {
match (&self.scope, &new_scope) {
// exchange scopes between Free and Code
(Scope::Free, Scope::Code) => self.append_str("```"),
(Scope::Code, Scope::Free) => self.append_str("```"),
// exchange scopes between Free and Definition
(Scope::Free, Scope::Definition(rule)) => {
self.append_str(&format!("<a name=\"{}\"></a>", rule.name()));
self.append_str("```abnf");
}
(Scope::Definition(rule), Scope::Free) => {
let mut rules: Vec<String> = Vec::new();
parse_abnf_node(rule.node(), &mut rules);
// 1. leave only unique keys
// 2. map each rule into a link
// 3. join results as a list
// Note: GitHub only allows custom tags with 'user-content-' prefix
let keys = rules
.into_iter()
.collect::<HashSet<_>>()
.into_iter()
.map(|tag| format!("[{}](#user-content-{})", &tag, tag))
.collect::<Vec<String>>()
.join(", ");
self.append_str("```");
if !keys.is_empty() {
self.append_str(&format!("\nGo to: _{}_;\n", keys));
}
}
(_, _) => (),
};
self.scope = new_scope;
}
}
/// Recursively parse ABNF Node and fill sum vec with found rule names.
fn parse_abnf_node(node: &Node, sum: &mut Vec<String>) {
match node {
// these two are just vectors of rules
Node::Alternatives(vec) | Node::Concatenation(vec) => {
for node in vec {
parse_abnf_node(node, sum);
}
}
Node::Group(node) | Node::Optional(node) => parse_abnf_node(node.as_ref(), sum),
// push rulename if it is known
Node::Rulename(name) => sum.push(name.clone()),
// do nothing for other nodes
_ => (),
}
}
fn main() -> Result<()> {
// Take Leo ABNF grammar file.
let grammar = include_str!("../abnf-grammar.txt");
// Parse ABNF to get list of all definitions.
// Rust ABNF does not provide support for `%s` (case sensitive strings, part of
// the standard); so we need to remove all occurrences before parsing.
let parsed = abnf::rulelist(&str::replace(grammar, "%s", "")).map_err(|e| {
eprintln!("{}", &e);
anyhow::anyhow!(e)
})?;
// Init parser and run it. That's it.
let mut parser = Processor::new(grammar, parsed);
parser.process();
// Print result of conversion to STDOUT.
println!("{}", parser.out);
Ok(())
}
// use abnf::types::{Node, Rule};
// use anyhow::Result;
// use std::collections::{HashMap, HashSet};
//
// /// Processor's scope. Used when code block or definition starts or ends.
// #[derive(Debug, Clone)]
// enum Scope {
// Free,
// Code,
// Definition(Rule),
// }
//
// /// Transforms abnf file into Markdown.
// #[derive(Debug, Clone)]
// struct Processor<'a> {
// rules: HashMap<String, Rule>,
// grammar: &'a str,
// scope: Scope,
// line: u32,
// out: String,
// }
//
// impl<'a> Processor<'a> {
// fn new(grammar: &'a str, abnf: Vec<Rule>) -> Processor<'a> {
// // we need a hashmap to pull rules easily
// let rules: HashMap<String, Rule> = abnf.into_iter().map(|rule| (rule.name().to_string(), rule)).collect();
//
// Processor {
// grammar,
// line: 0,
// out: String::new(),
// rules,
// scope: Scope::Free,
// }
// }
//
// /// Main function for this struct.
// /// Goes through each line and transforms it into proper markdown.
// fn process(&mut self) {
// let lines = self.grammar.lines();
// let mut prev = "";
//
// for line in lines {
// self.line += 1;
//
// // code block in comment (not highlighted as abnf)
// if let Some(code) = line.strip_prefix("; ") {
// self.enter_scope(Scope::Code);
// self.append_str(code);
//
// // just comment. end of code block
// } else if let Some(code) = line.strip_prefix("; ") {
// self.enter_scope(Scope::Free);
// self.append_str(code);
//
// // horizontal rule - section separator
// } else if line.starts_with(";;;;;;;;;;") {
// self.enter_scope(Scope::Free);
// self.append_str("\n--------\n");
//
// // empty line in comment. end of code block
// } else if line.starts_with(';') {
// self.enter_scope(Scope::Free);
// self.append_str("\n\n");
//
// // just empty line. end of doc, start of definition
// } else if line.is_empty() {
// self.enter_scope(Scope::Free);
// self.append_str("");
//
// // definition (may be multiline)
// } else {
// // if there's an equality sign and previous line was empty
// if line.contains('=') && prev.is_empty() {
// let (def, _) = line.split_at(line.find('=').unwrap());
// let def = def.trim();
//
// // try to find rule matching definition or fail
// let rule = self.rules.get(&def.to_string()).cloned().unwrap();
//
// self.enter_scope(Scope::Definition(rule));
// }
//
// self.append_str(line);
// }
//
// prev = line;
// }
// }
//
// /// Append new line into output, add newline character.
// fn append_str(&mut self, line: &str) {
// self.out.push_str(line);
// self.out.push('\n');
// }
//
// /// Enter new scope (definition or code block). Allows customizing
// /// pre and post lines for each scope entered or exited.
// fn enter_scope(&mut self, new_scope: Scope) {
// match (&self.scope, &new_scope) {
// // exchange scopes between Free and Code
// (Scope::Free, Scope::Code) => self.append_str("```"),
// (Scope::Code, Scope::Free) => self.append_str("```"),
// // exchange scopes between Free and Definition
// (Scope::Free, Scope::Definition(rule)) => {
// self.append_str(&format!("<a name=\"{}\"></a>", rule.name()));
// self.append_str("```abnf");
// }
// (Scope::Definition(rule), Scope::Free) => {
// let mut rules: Vec<String> = Vec::new();
// parse_abnf_node(rule.node(), &mut rules);
//
// // 1. leave only unique keys
// // 2. map each rule into a link
// // 3. join results as a list
// // Note: GitHub only allows custom tags with 'user-content-' prefix
// let keys = rules
// .into_iter()
// .collect::<HashSet<_>>()
// .into_iter()
// .map(|tag| format!("[{}](#user-content-{})", &tag, tag))
// .collect::<Vec<String>>()
// .join(", ");
//
// self.append_str("```");
//
// if !keys.is_empty() {
// self.append_str(&format!("\nGo to: _{}_;\n", keys));
// }
// }
// (_, _) => (),
// };
//
// self.scope = new_scope;
// }
// }
//
// /// Recursively parse ABNF Node and fill sum vec with found rule names.
// fn parse_abnf_node(node: &Node, sum: &mut Vec<String>) {
// match node {
// // these two are just vectors of rules
// Node::Alternatives(vec) | Node::Concatenation(vec) => {
// for node in vec {
// parse_abnf_node(node, sum);
// }
// }
// Node::Group(node) | Node::Optional(node) => parse_abnf_node(node.as_ref(), sum),
//
// // push rulename if it is known
// Node::Rulename(name) => sum.push(name.clone()),
//
// // do nothing for other nodes
// _ => (),
// }
// }
//
// fn main() -> Result<()> {
// // Take Leo ABNF grammar file.
// let grammar = include_str!("../abnf-grammar.txt");
//
// // Parse ABNF to get list of all definitions.
// // Rust ABNF does not provide support for `%s` (case sensitive strings, part of
// // the standard); so we need to remove all occurrences before parsing.
// let parsed = abnf::rulelist(&str::replace(grammar, "%s", "")).map_err(|e| {
// eprintln!("{}", &e);
// anyhow::anyhow!(e)
// })?;
//
// // Init parser and run it. That's it.
// let mut parser = Processor::new(grammar, parsed);
// parser.process();
//
// // Print result of conversion to STDOUT.
// println!("{}", parser.out);
//
// Ok(())
// }

View File

@ -19,13 +19,14 @@ use crate::{commands::Command, context::Context};
use leo_compiler::{compiler::Compiler, group::targets::edwards_bls12::EdwardsGroupType};
use leo_package::outputs::{ProvingKeyFile, VerificationKeyFile};
use anyhow::{anyhow, Result};
use rand::thread_rng;
use snarkvm_algorithms::{
snark::groth16::{Groth16, Parameters, PreparedVerifyingKey, VerifyingKey},
snark::groth16::{Groth16, PreparedVerifyingKey, ProvingKey, VerifyingKey},
traits::snark::SNARK,
};
use snarkvm_curves::bls12_377::{Bls12_377, Fr};
use anyhow::{anyhow, Result};
use rand::thread_rng;
use structopt::StructOpt;
use tracing::span::Span;
@ -44,7 +45,7 @@ impl Command for Setup {
type Input = <Build as Command>::Output;
type Output = (
Compiler<'static, Fr, EdwardsGroupType>,
Parameters<Bls12_377>,
ProvingKey<Bls12_377>,
PreparedVerifyingKey<Bls12_377>,
);
@ -108,7 +109,7 @@ impl Command for Setup {
tracing::info!("Skipping curve check");
}
let proving_key_bytes = ProvingKeyFile::new(&package_name).read_from(&path)?;
let proving_key = Parameters::<Bls12_377>::read(proving_key_bytes.as_slice(), !self.skip_key_check)?;
let proving_key = ProvingKey::<Bls12_377>::read(proving_key_bytes.as_slice(), !self.skip_key_check)?;
tracing::info!("Complete");
// Read the verification key file from the output directory

View File

@ -26,18 +26,19 @@ path = "../ast"
version = "1.5.0"
[dependencies.snarkvm-algorithms]
version = "0.3.1"
version = "0.5.4"
[dependencies.snarkvm-curves]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-dpc]
version = "0.3.1"
version = "0.5.4"
default-features = false
features = [ "testnet1" ]
[dependencies.snarkvm-utilities]
version = "0.3.1"
version = "0.5.4"
[dependencies.indexmap]
version = "1.6.2"

View File

@ -22,7 +22,7 @@ use snarkvm_algorithms::{
traits::{CommitmentScheme, CRH},
};
use snarkvm_dpc::{
base_dpc::{
testnet1::{
instantiated::{Components, LocalDataCRH, LocalDataCommitment},
parameters::SystemParameters,
},

View File

@ -17,7 +17,7 @@
use crate::{utilities::*, DPCRecordValuesError};
use leo_ast::Record as AstRecord;
use snarkvm_dpc::{base_dpc::instantiated::Components, AccountAddress};
use snarkvm_dpc::{testnet1::instantiated::Components, AccountAddress};
use std::{convert::TryFrom, str::FromStr};

View File

@ -18,7 +18,7 @@ use crate::{DPCRecordValues, RecordVerificationError};
use leo_ast::Record as AstRecord;
use snarkvm_algorithms::traits::CommitmentScheme;
use snarkvm_dpc::base_dpc::{
use snarkvm_dpc::testnet1::{
instantiated::{Components, RecordCommitment},
parameters::SystemParameters,
};

View File

@ -18,18 +18,18 @@ license = "GPL-3.0"
edition = "2018"
[dependencies.snarkvm-curves]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-fields]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.snarkvm-gadgets]
version = "0.3.1"
version = "0.5.4"
[dependencies.snarkvm-r1cs]
version = "0.3.1"
version = "0.5.4"
default-features = false
[dependencies.num-bigint]

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 119
num_constraints: 143
at: ae3e8a95d339433e8a11fc7a54536b8f56abacc03cffa1c4f4be8fa32bc4da8b
at: 144d1bd1f6756ac172ddddf3ca5cf4358ba8fc053fd754b56a425ab6566af47a
bt: 43972815ec9d0ab821613fde2cd6a5df9ee42f50758a27a0fed6dc111b44f3ee
ct: 5ed7a755b881aa851f3d3e966a4bd18dd48ce59be71b4ada39c9c891f8297201
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 3
num_constraints: 3
at: d4e77c2cd10c964fbbc4ad4f374dc36b3a6bc7d6865b87ec5234076348308c2c
at: 01e9615846575e848deea9a9802ceed188fdbfc4660f6f22de41845adcce14ac
bt: 49e8fa1fd3f85b0f486c49f194e4fff3da5e8039685fca1f3327389cbe9fc180
ct: 7ca43d5c34997f3c866631161cb33186cc016972238c07771ae105ca1b05320d
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 3
num_constraints: 3
at: d4e77c2cd10c964fbbc4ad4f374dc36b3a6bc7d6865b87ec5234076348308c2c
at: 01e9615846575e848deea9a9802ceed188fdbfc4660f6f22de41845adcce14ac
bt: 49e8fa1fd3f85b0f486c49f194e4fff3da5e8039685fca1f3327389cbe9fc180
ct: 7ca43d5c34997f3c866631161cb33186cc016972238c07771ae105ca1b05320d
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 95
num_constraints: 95
at: 5267486d9db0d5d95b248da00196e1a6e5c6e165f8580eae4fbf20d8e1560fd7
at: a57d02fa8b8a2336cc5c407e6a9489a3cb89357e3a3d966f18d8f0f86c21602f
bt: e0a9aa0cab882fb690b28137d24f271ccaa334521934a3badc07592a31b7be7f
ct: 5983ee7f60c1fc1ad4aaece7815002040cd4b5a7e019b3967f948d30f5d7ec96
ct: 7b8a2025971971c829b68fc994c6761496807e5b091ba4360d90fb6f35f4656e
output:
- input_file: func_circ.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 161
num_constraints: 163
at: e35800570ea5a58f3587ffba2b1be2a1df1c5790a6cbe215083e3d5d5a13b2bf
at: 4251eba02c1be1eeb4193b08906095b69cdec831207fe2ddba09e783ad4725ce
bt: 799dc824f6ba6a51959a395a3b5ebf05629aa241dbca9550190f32380b91ae1c
ct: 2aa6128cdf932752c8864c26a6a3d4991f3e6a75b22c1261a3389efa67375b01
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 190
num_constraints: 190
at: 50e55296085087c5ca1fd3d7c3894d10dd4bad60b83c4a7984e8dbf77126e92b
at: a1a80b7c355e1fa32c2136c4dc7a0fd0670affbdda869a9161a3a69f396c6b9a
bt: fbf306d0d13bf3d40926ad7adc07f122cb8d065e7e5d55f3416ac30d7ebe7a7c
ct: 97e2acff1b76912c52107342393ec04a09af81353a25f7ce330b8492f41381cf
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 3
num_constraints: 3
at: d4e77c2cd10c964fbbc4ad4f374dc36b3a6bc7d6865b87ec5234076348308c2c
at: 01e9615846575e848deea9a9802ceed188fdbfc4660f6f22de41845adcce14ac
bt: 49e8fa1fd3f85b0f486c49f194e4fff3da5e8039685fca1f3327389cbe9fc180
ct: 7ca43d5c34997f3c866631161cb33186cc016972238c07771ae105ca1b05320d
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 3
num_constraints: 3
at: c5f99f3b350445cd2709c7f76cda7a2ff158e972c58dc1294b346ab21b5c9100
at: 83b1bd5868cfd70d986276428ff81a9120e0848a6f44d7bd6d5a25d6063c7669
bt: 5a01b0726c5b948a3b336179b77081865f51dc2f1de630ce95b03424a5ae7998
ct: 7ca43d5c34997f3c866631161cb33186cc016972238c07771ae105ca1b05320d
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 1404
num_constraints: 1405
at: 1de369da9f4704c5dfe4d6b415ef81ab0a16e02ccb89af770ab9083526d9db94
at: b738445f9fa8039b6d93543917f21faebabd70ce5f0fc95bc2b82f9a96653e78
bt: 7d12a27b02e7c965ac1775f6711d6da181ea2a809f8bf644ab1755929013f7e4
ct: e7b4e2f5a4e98c3a9016990ee3dd9bbf5e55e7a98e1dc3ac7d4b458ecdcdde7e
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 511
num_constraints: 511
at: 7dcc86d79e1657a96155485d8aac78bca5392b8376b33faae47dfc973b4e810d
at: f130bde196ac7e190b505a42dfb30c41772c4c7eafe9e7203be9222892b767ce
bt: 7ac37b347f82644239128aa66e9caf34375b1fd860069659581477883d92fb7a
ct: 3e4c7833e73f9ee37e42c796e8af7a6d417a012b776b348abedbfd317110858d
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 506500
num_constraints: 556546
at: 276ce56b48a5db9e546f468d1360d00b27728dc93b8632fd78a88db9efbfe1f8
at: 168dc7e5a5c91155b81d611ec03fe223c562493918fb29fc46ce84cb1f54b7f5
bt: b9699f707750827fa2663e2e2c6ef82c786ed4c74556e3bed076d78eb1a896b1
ct: 9fe6835b23ef949becddbd4ec16c3fc389c72ee929e57a82a3336848e077758e
ct: ee951676608c1176ff532d3d37c5827e2180105104289b2b1b273333677227cc
output:
- input_file: i128.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 513
num_constraints: 513
at: 1394ad70170ddf61787d75c37b0438dc380e73ed0570a0755e1ea121261f084b
at: 75b34d698fc2359df51943102062181aa5ee62b84a221747dfd7f8868bf48efd
bt: c1e085f0d8047bc5b5f574ca9de7d79a0ce3b3235e3bfb83ff15aecf05ad1323
ct: c224fec21cf5a2b24eb94033a20aeb4729d3d0cf596339145cb49ea6a44cc5d8
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 897
num_constraints: 897
at: 05d7005b5fdaa7c459327b4c1d09041dcc226aaff499ee3885883ae499a450de
at: 96f20d0620bc9136e98bfe583ce40c6ad4359d33c7bafe02d1e121e411b1df50
bt: bf4203445221fa42994f563865391d625b571513cf25a20cf465fbe26647ec5d
ct: 8d7309bdb692a71de6c9efc246984ce389534e8fc31222a94d5217720c2d20e9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 897
num_constraints: 897
at: dc1301c93c3e7eff4464797dae66c49012deb970199561074fa23c7a0d8aeab3
at: 98a9cad46c764246288557ee4b5ded8e4f2ca8c99e07068d8e5cfef000e22e31
bt: 7734cf8efdd437cd881763da604d9524fca91092bda9b6fc677ff9c30fa4b3c7
ct: 8d7309bdb692a71de6c9efc246984ce389534e8fc31222a94d5217720c2d20e9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 897
num_constraints: 897
at: 8bee805269694137605d1f95f7824ed777f516e048d69e70e83236ee01c2ec03
at: e7341bd3736199176968e0d217b64de1913590fe3c69e32c4a398014df18f20f
bt: 78d5b43e2c7d048af797f16a430d0ce5b99f8305fb1dbd0c7a0a6f36cbd6b046
ct: 8d7309bdb692a71de6c9efc246984ce389534e8fc31222a94d5217720c2d20e9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 897
num_constraints: 897
at: 57c1d9c06091b82189025923173d4cdc95c8e8f741979d2a9102ff55d8d507a2
at: 9164a7c32351fa140180bb6aedc74fc291dde69bbff2b1e9c2191b3d155356dd
bt: 9a46d23879218b3aa9d5b6575fc677aca1f7470b3b4e623a26f410a38200661b
ct: 8d7309bdb692a71de6c9efc246984ce389534e8fc31222a94d5217720c2d20e9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 393216
num_constraints: 393217
at: e58d2cc579cdf111ac8fa1552f20b2c11c11aeaa9a9f0e009b1254b6369cd1a3
at: d5a0c9b374587e6c25f437a157bef0c152665743371172ba94d04e13a1a8f509
bt: 2d0600e403e694d114c452c3e5c1ad2137e48b5344b3760dbec2e826420b8a9e
ct: 76b519a48f8267fa180bc68f3e7a84fe7319a3ad2e76338916cb399d9cea22d8
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 513
num_constraints: 513
at: 48bbe0018b41afb2e67252317f5b9562174680891247b191932e8c9ddfac6235
at: 8f9d3ef916a970cb762ca6f3829a8b4897dc65d493a2ea2eb4fa812a2062fe67
bt: edc1de9388a8bb2c659c9b4e9deecd8406826abcfe220d295bf7d85a550c0c43
ct: c224fec21cf5a2b24eb94033a20aeb4729d3d0cf596339145cb49ea6a44cc5d8
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 765
num_constraints: 765
at: 98dd464444c8062f02a0911a1ddea0094fd3ebd3506ca2676979105087fe7397
at: 46af0432868923f7cad6e7db2de33a69ccad1a789e92d552ec26f8fc19a7d33d
bt: f1167d856668e1efcd49f020430a704e62ad6e46006e7faf58acdac8bb8a5ba2
ct: 075f6359a5dd933b671b42c06465f4c70f5ec152176c234fb4d3cdfbe6255daf
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 1658
num_constraints: 1659
at: 6b875cb06d16a700f8d1b42d2c49142252ad34cf6d54f08ea232a0fe525d9085
at: bb46c735f0d1698aa6cf8637b23babcdf0df3ec6e64f4b2e7d3e86f6f461e961
bt: 859297637693ebdf41005288cf212906c1d7619049b4305d34d9dededb24b5c5
ct: 97ce4bbb07278639ab86e5665c47e13e1156e2f338bc0048937eccb87f48e4b1
ct: 50293f70acfe4a8aadffa8b17c18b0411493c8760fc474dcdf26f5bc7d70ada4
output:
- input_file: i128.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 896
num_constraints: 1024
at: 2ba7f5e796779d99922e1b044ce5614b7e35945ff743c2b54412f00570bb935f
at: 0830a3e788b536b36f271fadaadcc919281b2171d4e18814385b74f6820cb5c9
bt: 1fb9bfc22c01a54c08602e7f3883c19b00de1070aa9bad9e9234e322f9043711
ct: ee9facabe4c76f5eb89984d3c5cb15f92eaa0cc3b4bc4fdff261aeb36ad0101b
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 172
num_constraints: 173
at: 723a4a49b4ef8819a93abd262d8ee19904417d6f8b6e9820cbc923e6953ce77c
at: 6b89cd61c27d609100734788caaf250a61c4e65e8bb53a70cb9a67bd3970d344
bt: 3685748e2150def12598827c6d3217b7665ad912fcf517afafed7dd933dd68a2
ct: acefb38d2e822ba8454f989fcdcfad22e9c15b0115cebecf3ec7f842412b0812
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 63
num_constraints: 63
at: 4cac6455a624606970ebe776412ee9b9d5800577aea1fad0677b866e991b6181
at: 781fbf42db29f7fa9c21d99e21d8f011ec22b33ad26d3f80438687aafd462285
bt: abee7b67c55170fc3341444203a9a70e68690dce751aa36d3e91f1cf7ceef73d
ct: 51c18ee4216feeb01d0b0d661dfeb294e7e100873586edf79be89c8b54d9e168
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 7764
num_constraints: 8642
at: 7ca6ba5e059aec2fb7bd4f8b0f6e37d6de7fbfa1f71ef7447f10a667aea9f7ca
at: 021e947acc78bbd99baa676d90f79998564e19d2b0478fb1e2e7946189d94bc2
bt: eadd8a53b4c1d8efbd2015f9e358120b022061fc46b548fdab054b5a75a79757
ct: 5df37aa184759798530f98a25acc5b096300451053e7165286e3956c0d90c449
ct: 496912e80f22b87bffa4fcb70059f09f267d5edf5f85e42030b7bd3d65bc57d3
output:
- input_file: i16.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 65
num_constraints: 65
at: d1e727ca124b8a409ccaa2404651441e669134e272d9d6635564d4e2509b7ebb
at: 8c8b795ef4142f2651625b90b3624d24de5138c3fb0981288a8cc5e12bf31f82
bt: eba2113bdda3d667d9e8c87f545fe4e2a0143b18a3fff0c1aaa46dd376ed1735
ct: f037d279ccea3ca689e05801ec3ba0053b5ce66a1763d4620262ea9b69873008
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 113
num_constraints: 113
at: 692a1e97a27ff41538ae2636fbc61e80056a629462752ec88e9992fe6c985b62
at: aacaa02fab172aad56801a9785e4265f42a5b7a8a90f3277508d9bdf9b71739e
bt: dc20f75204b1fb858e1971441f24a4aa1780e545581c55ff3d52cec41be65b79
ct: 92784334fb47e5a53eb972ec42d95f97470117bb6839cf2d46e8fcbd38a662f9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 113
num_constraints: 113
at: 0f2769e8c910d59c929dc4ad4ef8599892ff8b1562de13a8440763e58d66bba5
at: 5c1bf4b2c0dcee44497206b68fafb1e2e98bc020688d260da3730723c0c90dd8
bt: 07da85fcfccc58758d043e27b0aab5a749760c644824684c13befde258deb78c
ct: 92784334fb47e5a53eb972ec42d95f97470117bb6839cf2d46e8fcbd38a662f9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 113
num_constraints: 113
at: 52b091c77b6309726784221787aaf2a03110e4951a3f05e99f29d4f9b55f650c
at: a38a17fb5f40313343215b604602dfb492eb06cc8ac81d7d75443663398eb105
bt: 34c1c5f1fd258fc5f18137e0cd367a6c3149958ec8b92123518e293db31afbe3
ct: 92784334fb47e5a53eb972ec42d95f97470117bb6839cf2d46e8fcbd38a662f9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 113
num_constraints: 113
at: 47043c58e00ec824b11a140b997e8346345dfd7dbbada1f6b4ea6cbd87474881
at: 882216b2b7d92dafe18a2ba6eefed789ba0084c92957772d0b1e3797ac391d8f
bt: 564588048812d9300963caf70148f154c231faa3209aed2ee5f9dd51a31af0ef
ct: 92784334fb47e5a53eb972ec42d95f97470117bb6839cf2d46e8fcbd38a662f9
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 6144
num_constraints: 6145
at: e0ac196102c7e3dab5f8b99377bd64bdafc963706644e45cccf0e9e008d80654
at: a82b875e925052eba2aa8b33aaa6a654c144148e94e18bbe9649dcdd1fc0ad71
bt: cd23bca179b84ca9238460e8de4ec0c0afdc0ce1e3d6669329fc4baf08e7e0db
ct: f60e073d0353b71ab07769daa585ce03799bb2f4095a0dda5f9009b4f42162ed
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 65
num_constraints: 65
at: 0fdea959dac884336ecafa3d6ae5bb268aaefacd91e099a206f2974681d6a0a8
at: 83a4d089927a9811a9d4ed5b3ee2e50e395cd598de865653be04a2c51904b072
bt: 30bc7cfbc53a2e928ca0310b6041f1f1548ad7c1197ffc9301b46522122e5561
ct: f037d279ccea3ca689e05801ec3ba0053b5ce66a1763d4620262ea9b69873008
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 93
num_constraints: 93
at: 3f12aea0b23980da83e9b76f0f59c727d5ced82bd09ac8bcf9b26537b42bcbda
at: 29988ea86584610f4511315204ed49c45d0303c44e0fb59c0df19dc048cee369
bt: 9bba1722080b8c396e72a645c5ca7dff2943c0b29a741569acdba3887e40c8af
ct: 4f89ea4838bc4544e2767b7dc68a1e0fa0649d7401bb7ae8292bd6aa654eda28
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 202
num_constraints: 203
at: e2596c361eae975f6e49b22e11f1776fb711d2b9e6a69041b230ebb3d9561a5e
at: 7b1b870d629fe64b117f0be092b7336e6b4149ac6778d0f4d02273e0c2b59a2a
bt: 035e3e8f741942f4683b2262c8f0fc75c0c5a89252c069ed956abce34019b988
ct: 4d408b4df7a360a52a36a57c13e15711470bb854d599278e72f31cae00ddb347
ct: cd38769a0ae3aefd48815d80555886d23370399b29596b8433ad23be67afc55f
output:
- input_file: i16.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 112
num_constraints: 128
at: 58c61c468b93481b5691b278622e567b5a718e6411cce53fdbe46e2839bdf8c3
at: b0a107f586de648c8446ae3246117de3b20ba9c0249d261f234106809d112f0a
bt: 0e5faacb5d80488eeda9e7fa79ddd96e54c010e0e98571449f79cad816cc18a2
ct: 2b3428d7c7335edc32ab219fe11c92e215d70a52c89434de349f4951561d5795
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 348
num_constraints: 349
at: 623759513f511047731696dc641970503b3a71642eaf04c325203156d8ffb600
at: 2fe67b488b0f96f2f6be7e96dc7f102984b0132232e452f44e40cad21a1dc5f3
bt: 8dd304125c8178327f11b0894be2788080258a5a80aab3c1df046fea9f262789
ct: 8b73986e71edfc8b716f535eaa069b04cc15502adbd166ae713df42cb9d37a3c
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 127
num_constraints: 127
at: e0e639bf48906da80759e2f98e3205a68a63ae175dcd7c198fe3bf6b1650a84e
at: 051151c1ab89f2c0ff0fe5d336668c3fcd6dc4744d1f5b8e135dcb7bf6a6195c
bt: 6b92443726163ac0fc32f7c9edace0ec8369e793d24105d93d121cb0bd5c3128
ct: 7cb2d3f0ccfb9a2e747c6a05bdb52812c4539c836ff62c4e555fac13ef2084d4
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 31396
num_constraints: 34690
at: da21ab443f5a626be92c61f68a650ce70f13aebfe7e7f385490af4d8ff812311
at: c916998b93bc4ded6f989fe837aa04d3a2ea3c46c26bba70514d346ddf13f7dc
bt: 2b765f5660bc847af13d6361ed89fbc296cfa094fd80972604f1745259c14289
ct: 037b7ecfb3a4477858f5587ac9671bc32d664e4ca55d311f1c77502f58321c85
ct: 3054de0adc6f09929e39a097dc66d9dace247ff1481254154c31e5416d6b82e7
output:
- input_file: i32.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 129
num_constraints: 129
at: 669271745b6c4fd803216e0e59f47da168d7e5bb9f7058232265a79c62f67696
at: 4ce4f2bf481c4f7e47396527999e129066d1f157413884f91ced3d2b525a3187
bt: e63628fc48d1e71ea44830c010e442f577239e29f7ffada0d8df34c28e67f107
ct: 9f4c72431c0c7c03e216195a071c971c53deed8e3bfce450bffb3a6fad7418d5
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 225
num_constraints: 225
at: 56b3865e8aa1bfe3069fca36232a122eaa9430c642d17cfd2a51e07abe948ead
at: fba74e6ed7ae0c0cf0bd2c874940e7e9daf6c7c4e08cf9359b31279433ec0ef5
bt: 3f23038cdf71876dea48b44b9cae993b3f649b628bcdaf6f1cb77bbafa92b600
ct: d7067f500143a40e015fd1f4447a4ea5b9ee6ebdf007e08be51772a8a2b672c3
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 225
num_constraints: 225
at: 5d29f27de2cc29c473be77bf193ab76c81325cf7379c8cb128f529dd2f8f2b75
at: fec1628688d454ab244e921b74f7f70ff6c7acf18280488dfb43cd0bb4bd70d2
bt: 02fd44d092923c1a89fc492a9660926934e03005d8c3fa5f42ae2a3fbd7048ea
ct: d7067f500143a40e015fd1f4447a4ea5b9ee6ebdf007e08be51772a8a2b672c3
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 225
num_constraints: 225
at: 0e304c1ff4b2d054a884efec2b672faeb96edc095eb9092b1afe8161500dc7cd
at: 39f909848aee2ee744719f8692f58b9745aeaeededc431f1b06df839384bff07
bt: 4e75a3c5fd91239e6bf32d96c6a4a702e040e4a3bddcc282706ca76facb9e942
ct: d7067f500143a40e015fd1f4447a4ea5b9ee6ebdf007e08be51772a8a2b672c3
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 225
num_constraints: 225
at: ab78d207fa52f7931c697b9d6999ef4d6adde046baf32c1a85a90dbfd24f1cd1
at: fcca8f94beb99b6f86edd3f8c36b81043482e6c449fc4278d53d546c295810ed
bt: 26e3dae4bf8fe37424b8ef7cc60b6136809286a8e64736e63b8b5dfacf774c21
ct: d7067f500143a40e015fd1f4447a4ea5b9ee6ebdf007e08be51772a8a2b672c3
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 24576
num_constraints: 24577
at: fb4e2b915ecfd8fe94bb73daaa80c1b2ad75c155ecf96250fbe020cec4fb2bd9
at: 3f0c50eed51d601da1dd661e666f96fcf5285b7be20881d92b7fa14e6147c5fd
bt: fc2efd0d73e1d0feb345c15515e796fcd289003e5e388d35be464e3ee76a0cb5
ct: f720f62a8a58bc4a64c837cfad115c98d50ccfe3b208fb9fa346c5c17ff7ded4
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 129
num_constraints: 129
at: 4886c2b717c624374dad0a9b657c2081663a6eb235c10b386bcaf117c0fdb004
at: 6cde17fb079861287679ad93d9ed9125cfc21000431bfeaf5a2054360ce51ef7
bt: 1178e67ab79eac96592f17313168c4300d53e89ab571025054d53d19dfdfd1b8
ct: 9f4c72431c0c7c03e216195a071c971c53deed8e3bfce450bffb3a6fad7418d5
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 189
num_constraints: 189
at: 1f06616d7ab0f9397c33e23191bf4bcda843096a327c797c3149139ac7ad9e08
at: 2254172298dcedafc294b068f855ab0dd689491362b1b490a8c95435e4b159da
bt: 244d201ae16e93cdd97ca56d698598a5a66e1bcb2794d58b5e24f6f9df9760a4
ct: 1607b4ad7556c35957a6cbce85868f0f82d2c65e55f13350ef81738caec6e235
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 410
num_constraints: 411
at: 7e15d23fe1f99f56b446ff52d2998286e031c68d26a3308ddfe6caf3271b9e31
at: 3293cb0f2e38fae78ca837de736471f6e36a372f92282123f6082e07648b412b
bt: c342f65da421c48d402ba324062abbb064eb525a99fe5379fcb1654a33a11d68
ct: f9165fc0dbff251907271ea7256f90598d12e2dea3afdd1293099a08e9922fe6
ct: 8a37ed12cbab476be56f1dc175e38c689f5bde3909161865409085a34c4a19f1
output:
- input_file: i32.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 224
num_constraints: 256
at: 9338a0dd9e836893acff2938b8ad85ab3255dd2f189dd4f2bc00fef2d38c073d
at: 45301188494f0c65b2e88eac9117ba7367e772ea34e9b8f34bf3d49dbd1dd067
bt: 35d9c47cfd4fc137760d0ee411c0b097541cab7aae2b0a9ea83b368328fe5c23
ct: 032da4c7df957d9ca89b5395be6e1c84cab7d19a78abe1b02bb37b26ca65b0e4
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 700
num_constraints: 701
at: 2d074af82e5f1955746fb3ab5dde050a622ac0d1f55f76a97eee76419aaaebc2
at: cecef57cd6d6e05c1f08807f82c42ac9ab45def4542662ca606c2e8183f36c76
bt: dbea824d3f892b3f86e08d05b68eecdc0de998bcd12186475d90ede9dfc5dfd8
ct: 8bc1636c45d8da73bfa0c5a71972d9829c9954007eff5db6f8fa4672d5b57c4f
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 255
num_constraints: 255
at: 085ed7b795cfdd2b367e0714e4f7c75cd84b99895bc7597ffc3134ab4b4fb47a
at: 68080cb19b62be7f91ee2118affb7b55ea272e15e17581869385053a5c6d3623
bt: 2c1d031e57e285b1277f2c37853fc7fdff23711e1147d7b26ed74d3acd28ceff
ct: 0b136215b60005ed17aa4eea76bc4e2b0349c0fecf57dc06f5dba31981f270d0
output:

View File

@ -6,9 +6,9 @@ outputs:
num_public_variables: 0
num_private_variables: 126276
num_constraints: 139010
at: 08ca67f8f6a55a97c98376e47bdc55730ebf02eea500e26f3d21d8fcbd01eed8
at: 5569763c96399af86cb10f3f5658e82c52594a8b4bd085542d92a6090db5f83f
bt: 2a2b1dfbe635b61460fcba331f7383edd70f065881804500e5c4068771b1b040
ct: 6bbd0c0bfca90f9c361b96367f77ea0c1efb042d3e60117944ff7d05fd50f2eb
ct: 4dab363af1609fb733af59eb97aed35a67429bfa2cdd45c8c2bc8fcfa1ae6268
output:
- input_file: i64.in
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 257
num_constraints: 257
at: 4461f4148de047b81686ddce14909d0676354608816291b838209335b7b5040c
at: 30dc67aa22cadc6e5ec8c73e0096443263121e29adf46bb33ed310b07765ff6e
bt: 1aaee32179419b6185d75c5745bd13c7c8ba869bad0132405ef1b28915bfe5d9
ct: 8edd5528a862bbd5590cfbd0d52871e395cf73e3a22c70839571b36506fbe3a7
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 449
num_constraints: 449
at: 732f88f6d74154902e8e9ccb6a4f52a7ff945ad78d37bbd769fcfd226e7d3261
at: 04829ad53a315f620a66d1fc8152176c29a250b57c54482f7e2fba84cad444c4
bt: 46fa1dbc8f6cc62609913fe96ad20cff4ba8ba7ea886b3682c3b4dc9a491b334
ct: 7b765314986bd8a51a62dabdef866c5fe05ad9bf392fb0e25b7ce3b9969f81e1
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 449
num_constraints: 449
at: 00e3111a40957b18c86be06041e0064425fee842c1d44ec540ba3ab7dbcde7d8
at: 2805d5c14f23da221eefbd223bafa37ae210f961594e020f8aeb1a9ff00d7287
bt: 3947204249ecf9b6f7339e9c6409daf25d626f7e807ac182d3222e61fb4499dd
ct: 7b765314986bd8a51a62dabdef866c5fe05ad9bf392fb0e25b7ce3b9969f81e1
output:

View File

@ -6,7 +6,7 @@ outputs:
num_public_variables: 0
num_private_variables: 449
num_constraints: 449
at: 583b2c56b8f6afe21b1853986324c698ae281b32af481dc24333125506210d63
at: 228ee4529b5cacfbd2dfbe9fe20088c9e8de89c4f80fcca316cd4ed3830ff633
bt: b228ce69df9ccfd94eb2d43619a82e2720dc0b34666b6850f0cd42db04befdef
ct: 7b765314986bd8a51a62dabdef866c5fe05ad9bf392fb0e25b7ce3b9969f81e1
output:

Some files were not shown because too many files have changed in this diff Show More