Skip to content

Releases: TritonVM/tasm-lib

v0.45.0

14 Jan 14:55
8d3e1ab
Compare
Choose a tag to compare

0.45.0

✨ Features

  • LessThan for U128 (0492f3b6)
  • (i128) Add lt for i128 (820f26b3)
  • Introduce snippet sign-off functionality (6bc26129)
  • (u128) Add overflowing add (d9afd642)
  • (i128) Shift-right for i128s (39922aef)
  • (hashing) Add snippet for hashing stack value (821d7cac)
  • Add snippet u32::trailing_zeros (1b1a18e5)
  • (!) Add snippet u64::trailing_zeros (a376c4a5)
  • Add snippet hashing::merkle_step_mem_u64 (a9549e80)
  • (TasmStruct) Add destructuring capabilities (3af418ab)

🐛 Bug Fixes

  • Don't unwrap in TasmObject::decode_iter() (cffd64be)
  • (TasmObjectDerive) Make emitted paths absolute (eb715c60)

⚡️ Performance

  • (TasmObject) Use addi x over push x + add (dcf29572)
  • (safe-add) User overflowing add internally (02559987)
  • (verify_mmr_successor) Use new algorithm (94fb493f)

📚 Documentation

  • (PrimitiveRootOfUnity) Add snippet contract (3f8d33e1)

⚙️ Miscellaneous

  • (AddU64) Implement BasicSnippet (4d55540c)
  • (!) TasmObject is BFieldCodec subtrait (bb67184b)
  • Deprecate public type aliases (a880abbd)
  • (!) Drop Rc<RefCell<_>> from RustShadow (f82b2952)
  • (!) (Closure) De-duplicate boilerplate (19361715)

♻️ Refactor

  • (!) (arithmetic) Drop type suffixes (af934daa)
  • (!) Simplify testing framework (b7334898)
  • Remove superfluous 'static bounds (137de811)
  • (!) (TasmObject) Move checks to compile time (bc6c3017)
  • (TasmObject) Don't panic asserting sizes (52a8ba30)
  • (TasmStruct) Remove unreachable code (64f4d3d0)
  • (!) (TasmObject) Slim down public API (3d3daa76)

✅ Testing

  • (PrimitiveRootOfUnity) Check correct encoding (93770758)
  • Add tests and bencher for shift-right-i128 (cc2ad2dc)
  • Test DataType::compare() (ad6c580b)
  • (TasmStruct::destructure) Add test cases (8c940bca)

⏱ Bench

  • Make benchmarks deterministic (c38c7ae0)
  • Add benchmarks (b5245450)
  • (i128_shift_right) Add assembly benchmark (a0209d96)
  • Benchmark merkle_step_u64_index (d703f9a0)

🖋 Snippet Sign-Off

v0.43.0

14 Jan 14:55
9e865cb
Compare
Choose a tag to compare

0.43.0

✨ Features

  • Optionally write program-to-debug to disk (251bebac) (33b202f5)
  • Add input type annotation hints after entering an entrypoint (5f32e68c)
  • Add snippet DequeueAs (57c020b1)
  • Keep track of proof items in DequeueNextAs (033955ca)
  • Absorb dequeued item into Fiat-Shamir heuristic (if applicable) (b14ce354)
  • Decouple proof from iterator over its items (c205f5ef)
  • Add data type StructRef (f53603b7)
  • (!) Dynamic allocator uses entire memory pages (ccf90c90)
  • (!) Merge “safe” and “unsafe” lists (f2af2e50)
  • Add snippet for squaring XFE (15e2de89)
  • Add snippet for cubing an XFE (876ee88d)
  • Add snippet for fourth power of an XFE (98d57fce)
  • Add snippet for inner product of two XFE arrays (61945613)
  • Implement TasmObject for Option<T> (928b1fa7)
  • Add snippet for calculating terminal from compile-time known symbols (a721e6ac)
  • Add snippet for squeezing repeatedly for statically known squeeze count (a33bc0f1)
  • Add snippet for sampling a statically-known number of scalars (b43855d2)
  • Improve error message if two stacks do not match (228375fe)
  • Add snippet for calculating terminal value from digest (e8acc61f)
  • Add snippet for deriving Challenges struct (d4245ad5)
  • Sample scalars into static memory (538f2d54)
  • Allow sharing statically allocated memory (40a318e2)
  • Add thin wrapper for AIR constraint evaluation (4c3e8a94)
  • Add function to get conventional STARK-proof-compliant memory layout (7f10d008)
  • Add snippet for Horner evaluation (1be9a76d)
  • Add snippet to read own program digest (49621953)
  • Add split_off snippet (aaa1fcf3)
  • Add conversion method from TVM's FRI struct to tasm-lib's (c882286a)
  • Export function mimicking HashVarlen's sponge mutation (5828932c)
  • Allow profiler to only print aggregated profile (2418aa26)
  • Add snippet for inner product for recufier's main loop (e777210a)
  • Export version of inner prod calculation needed by recufier (a43307c5)
  • Add sorted aggregation to profile output (1504cdc6)
  • Produce timing report when running tests with proof generation (b97573f7)
  • Add snippet for initializing Fiat-Shamir state with generic claim (9610da17)
  • Calculate challenges from generic trait (b0824def)
  • Add FRI proof-derivation helper functions to test (a43ed50d)
  • Add snippet for constructing a claim for a recursive proof (1b64674a)
  • Add snippet for sampling a single scalar (1e35c9e8)
  • Add snippet for calculating out-of-domain points (10ef92ce)
  • Add XFE-snippet for $xfe^{2^n}$ for dynamic $n$ (916c5e26)
  • Add snippet for calculating inverse zerofiers (0ca75bcc)
  • Add convenience functions for STARK verifier (76157651)
  • Add snippet for absorbing statically-sized BFE sequence (2b41a616)
  • Add snippet mirroring hash_varlen for statically-sized inputs (52f85871)
  • Add snippet for verifying a base table row against Merkle root (693072be)
  • Generalize snippet for inner product to accept Xfe base row (db69842f)
  • Add recursive Verifier (7ee32925)
  • Disallow very big proof items (dfa133be)
  • Add snippet for barycentric evaluation (8f907798)
  • Use new evaluation snippets in FRI (39211257)
  • Add profile-generator for verifying a proof from disk (c2140ada)
  • Write tasm output to disk if envvar TASMLIB_STORE is set (3efea1c4)
  • Add snippet for verifying MMR auth path with leaf-index on stack (b0317c6a)
  • Add snippet for calculating Merkle root from list of XFEs (45670b44)
  • Build Merkle tree with known height (fec51e20)
  • Calculate Merkle root XFE sequence with statically known length (f0fc2bf4)
  • Add wrapper for Merkle root from XFEs, len 256, 512, 1024 (054b6ed9)
  • Add contains snippet for lists (206a16e8)
  • Add snippet for comparing ordering of two digests (afe8448b)
  • Add snippet for u64-multiset equality (23a48a19)
  • Add snippet VerifyMmrSuccessor (657794a8)
  • Add snippet VerifyMmrSuccessor (f31b8eb6)
  • (stark_verify) Allow dynamic memory layouts for STARK verify (ef2ca693)
  • Ensure no overlapping use of memory in verifier (d36aae40)
  • (memory) Add function to get highest populated address on ND-region (7affd624)
  • Add function to get first free ND memory address (bed116d0)
  • (dyn_malloc) Ensure dyn_malloc does not map outside its mem-region (315e89c9)
  • Report number of ND digests consumed by StarkVerify (c2027062)
  • (TasmObject) Add method get_encoding_length (a7caa8c3)
  • (TasmObject) Add hints to fields obtained via field! macro (ccee860a)
  • (tasm_object) Add bounds-checks to auto-derived field getters (4f58791e)
  • (tasm_object) Add function for verifying integrity of size-indicators (f35a065a)
  • (tasm_object) Verify correct Option discriminant value (f5dde71d)
  • (tasm_object) Add decode_iter impls for various basic types (7c86811b)
  • (traits) Add new trait mem_preserver (c5a0c943)
  • Add new snippet for read-only algorithm (67ce6382)
  • Add From<FunctionInitialState> for InitVmState implementation (1f0d0c2c)
  • (!) Introduce helper struct StaticAllocation (67ef3663)
  • (map) Allow chaining lists before mapping (031927ad)
  • Add size-consistency verification to dequeue_next_as (dd5e6a75)
  • Add Drop snippet for post-verification-check on VmProofIter (6267a86c)
  • Add bounds-checks on V...
Read more