Skip to content

Commit 110eb0e

Browse files
committed
chore: Upgrade dependency “Triton VM”
1 parent 1d2c50e commit 110eb0e

12 files changed

+44
-30
lines changed

tasm-lib/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ serde = { version = "1", features = ["derive"] }
3737
serde_json = "1"
3838
strum = { version = "0.27", features = ["derive"] }
3939
tasm-object-derive.workspace = true
40-
triton-vm = { version = "0.48.0", default-features = false }
40+
triton-vm = { version = "0.49.0", default-features = false }
4141

4242
[dev-dependencies.cargo-husky]
4343
version = "1"
Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,19 @@
11
fibo_test:
2-
| Subroutine | Processor | Op Stack | RAM | Hash | U32 |
2+
| Subroutine | Processor | OpStack | Ram | Hash | U32 |
33
|:---------------------|---------------------:|---------------------:|---------------------:|---------------------:|---------------------:|
4-
| fibo_test_loop | 5517 ( 99.9%) | 4513 ( 99.9%) | 0 ( NaN%) | 0 ( 0.0%) | 0 ( NaN%) |
4+
| fibo_test_loop | 5516 ( 99.9%) | 4513 ( 99.9%) | 0 ( NaN%) | 0 ( 0.0%) | 0 ( NaN%) |
55
| Total | 5523 (100.0%) | 4518 (100.0%) | 0 ( NaN%) | 24 (100.0%) | 0 ( NaN%) |
6+
7+
| Table | Height | Dominates |
8+
|:----------|-------:|----------:|
9+
| Program | 40 | no |
10+
| Processor | 5523 | yes |
11+
| OpStack | 4518 | no |
12+
| Ram | 0 | no |
13+
| JumpStack | 5523 | yes |
14+
| Hash | 24 | no |
15+
| Cascade | 268 | no |
16+
| Lookup | 256 | no |
17+
| U32 | 0 | no |
18+
19+
Padded height: 2^13

tasm-lib/src/array/inner_product_of_three_rows_with_weights.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use strum::Display;
55
use triton_vm::prelude::*;
66
use triton_vm::table::master_table::MasterAuxTable;
77
use triton_vm::table::master_table::MasterMainTable;
8-
use triton_vm::table::master_table::MasterTable;
98

109
use crate::data_type::ArrayType;
1110
use crate::prelude::*;

tasm-lib/src/array/inner_product_of_xfes.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,6 @@ mod tests {
192192
mod benches {
193193
use triton_vm::table::master_table::MasterAuxTable;
194194
use triton_vm::table::master_table::MasterMainTable;
195-
use triton_vm::table::master_table::MasterTable;
196195

197196
use super::*;
198197
use crate::test_prelude::*;

tasm-lib/src/hashing/merkle_root.rs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -241,9 +241,10 @@ mod tests {
241241
let tree_pointer = dynamic_allocator(memory);
242242
let num_internal_nodes = leafs.len();
243243

244-
for (node_index, node) in (0..num_internal_nodes).zip(mt.nodes()).skip(1) {
244+
for node_index in 1..num_internal_nodes {
245+
let node = mt.node(node_index).unwrap();
245246
let node_address = tree_pointer + bfe!(node_index * Digest::LEN);
246-
encode_to_memory(memory, node_address, node);
247+
encode_to_memory(memory, node_address, &node);
247248
}
248249

249250
stack.extend(mt.root().reversed().values());

tasm-lib/src/verifier/fri/test_helpers.rs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ use triton_vm::proof_stream::ProofStream;
55
use triton_vm::table::NUM_QUOTIENT_SEGMENTS;
66
use triton_vm::table::master_table::MasterAuxTable;
77
use triton_vm::table::master_table::MasterMainTable;
8-
use triton_vm::table::master_table::MasterTable;
98
use twenty_first::prelude::*;
109

1110
use crate::prelude::Digest;
@@ -103,7 +102,7 @@ pub fn extract_fri_proof(
103102
let fri_proof_stream = proof_stream.clone();
104103
let fri_verify_result = fri.verify(&mut proof_stream).unwrap();
105104
let indices = fri_verify_result.iter().map(|(i, _)| *i).collect_vec();
106-
let tree_height = fri.domain.length.ilog2() as usize;
105+
let tree_height = fri.domain.length.ilog2();
107106

108107
// main
109108
let main_table_rows = proof_stream
@@ -175,7 +174,7 @@ fn extract_paths<const N: usize, T: BFieldCodec>(
175174
indices: &[usize],
176175
rows: &[[T; N]],
177176
authentication_structure: &[Digest],
178-
tree_height: usize,
177+
tree_height: u32,
179178
) -> Vec<Vec<Digest>> {
180179
let leafs = rows.iter().map(Tip5::hash).collect_vec();
181180
let inclusion_proof = MerkleTreeInclusionProof {

tasm-lib/src/verifier/fri/verify.rs

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use twenty_first::math::x_field_element::EXTENSION_DEGREE;
1515
use twenty_first::util_types::merkle_tree::MerkleTree;
1616
use twenty_first::util_types::merkle_tree::MerkleTreeInclusionProof;
1717

18+
use crate::U32_TO_USIZE_ERR;
1819
use crate::data_type::StructType;
1920
use crate::field;
2021
use crate::hashing::algebraic_hasher::sample_indices::SampleIndices;
@@ -928,7 +929,7 @@ impl FriVerify {
928929
let num_collinearity_check = self.num_collinearity_checks as usize;
929930
let mut a_indices = proof_stream.sample_indices(domain_length, num_collinearity_check);
930931

931-
let tree_height = self.domain_length.ilog2() as usize;
932+
let tree_height = self.domain_length.ilog2();
932933
let fri_response = proof_stream
933934
.dequeue()
934935
.unwrap()
@@ -985,9 +986,11 @@ impl FriVerify {
985986

986987
// verify authentication paths for A leafs
987988
for indexed_leaf in indexed_a_leaves.iter().rev() {
988-
let authentication_path = &nondeterministic_digests[num_nondeterministic_digests_read
989-
..(num_nondeterministic_digests_read + tree_height)];
990-
num_nondeterministic_digests_read += tree_height;
989+
let auth_path_end = num_nondeterministic_digests_read
990+
+ usize::try_from(tree_height).expect(U32_TO_USIZE_ERR);
991+
let authentication_path =
992+
&nondeterministic_digests[num_nondeterministic_digests_read..auth_path_end];
993+
num_nondeterministic_digests_read = auth_path_end;
991994
let inclusion_proof = MerkleTreeInclusionProof {
992995
tree_height,
993996
indexed_leafs: vec![*indexed_leaf],
@@ -1048,10 +1051,11 @@ impl FriVerify {
10481051

10491052
// verify authentication paths for B leafs
10501053
for indexed_leaf in indexed_b_leaves.iter().rev() {
1051-
let authentication_path = &nondeterministic_digests
1052-
[num_nondeterministic_digests_read
1053-
..(num_nondeterministic_digests_read + current_tree_height)];
1054-
num_nondeterministic_digests_read += current_tree_height;
1054+
let auth_path_end = num_nondeterministic_digests_read
1055+
+ usize::try_from(current_tree_height).expect(U32_TO_USIZE_ERR);
1056+
let authentication_path =
1057+
&nondeterministic_digests[num_nondeterministic_digests_read..auth_path_end];
1058+
num_nondeterministic_digests_read = auth_path_end;
10551059
let inclusion_proof = MerkleTreeInclusionProof {
10561060
tree_height: current_tree_height,
10571061
indexed_leafs: vec![*indexed_leaf],

tasm-lib/src/verifier/fri/verify_fri_authentication_paths.rs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ mod tests {
134134
use twenty_first::prelude::*;
135135

136136
use super::*;
137+
use crate::U32_TO_USIZE_ERR;
137138
use crate::rust_shadowing_helper_functions;
138139
use crate::test_prelude::*;
139140

@@ -168,15 +169,17 @@ mod tests {
168169
let dom_len_minus_one = pop_encodable::<u32>(stack);
169170

170171
let dom_len = dom_len_minus_one + 1;
171-
let tree_height: usize = dom_len.ilog2().try_into().unwrap();
172+
let tree_height = dom_len.ilog2();
172173

173174
let mut auth_path_counter = 0;
174175
let mut idx_element_pointer = idx_last_elem;
175176
let mut leaf_pointer = leaf_last_element_pointer;
176177
while idx_element_pointer != idx_end_condition {
177-
let authentication_path = nondeterminism.digests
178-
[auth_path_counter * tree_height..(auth_path_counter + 1) * tree_height]
179-
.to_vec();
178+
let auth_path_len = usize::try_from(tree_height).expect(U32_TO_USIZE_ERR);
179+
let auth_path_start = auth_path_counter * auth_path_len;
180+
let auth_path_end = auth_path_start + auth_path_len;
181+
let authentication_path =
182+
nondeterminism.digests[auth_path_start..auth_path_end].to_vec();
180183

181184
let leaf_index_a_round_0: u32 = memory
182185
.get(&idx_element_pointer)

tasm-lib/src/verifier/master_table/air_constraint_evaluation.rs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ use triton_vm::prelude::*;
99
use triton_vm::table::auxiliary_table::Evaluable;
1010
use triton_vm::table::master_table::MasterAuxTable;
1111
use triton_vm::table::master_table::MasterMainTable;
12-
use triton_vm::table::master_table::MasterTable;
1312
use twenty_first::math::x_field_element::EXTENSION_DEGREE;
1413

1514
use crate::data_type::ArrayType;
@@ -298,7 +297,6 @@ mod tests {
298297
use rand::distr::StandardUniform;
299298
use triton_vm::proof_stream::ProofStream;
300299
use triton_vm::table::master_table::MasterMainTable;
301-
use triton_vm::table::master_table::MasterTable;
302300
use twenty_first::math::x_field_element::EXTENSION_DEGREE;
303301

304302
use super::*;

tasm-lib/src/verifier/master_table/verify_table_rows.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ use triton_vm::prelude::*;
44
use triton_vm::table::NUM_QUOTIENT_SEGMENTS;
55
use triton_vm::table::master_table::MasterAuxTable;
66
use triton_vm::table::master_table::MasterMainTable;
7-
use triton_vm::table::master_table::MasterTable;
87
use twenty_first::math::x_field_element::EXTENSION_DEGREE;
98

109
use crate::hashing::algebraic_hasher::hash_static_size::HashStaticSize;
@@ -304,7 +303,7 @@ mod tests {
304303

305304
let leaf_digest = local_hash_varlen(row, sponge);
306305
let merkle_tree_inclusion_proof = MerkleTreeInclusionProof {
307-
tree_height: merkle_tree_height as usize,
306+
tree_height: merkle_tree_height,
308307
indexed_leafs: vec![(leaf_index as usize, leaf_digest)],
309308
authentication_structure: authentication_path,
310309
};

0 commit comments

Comments
 (0)