Tags: argotorg/fe
Tags
test(stdlib): extend Bounded/UnsignedAbs coverage to all integer types The original fixtures spot-checked i8/i32/i256 (and u8/u32/u256 for Bounded) on the assumption that the per-type impls were mechanical copy-paste. Adding the remaining types (u16, u64, u128, usize, i16, i64, i128, isize) so that any typo in the per-type literals — wrong type name, wrong constant — would fail loudly. For Bounded: each type asserts both `T::min()` and `T::max()`. For UnsignedAbs: each signed type asserts `T::MIN.unsigned_abs()` matches the expected 2^(N-1) magnitude, plus a sample `-42`. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
test: add Uniswap V3 TickMath as const fn demo fixture Real-world demo of Fe's CTFE: ports Uniswap V3's `getSqrtRatioAtTick` to Fe as `pub const fn`, with bit-exact `MIN_SQRT_RATIO`/`MAX_SQRT_RATIO` bounds matching the canonical Solidity implementation.
test: add Uniswap V3 TickMath as const fn demo fixture Real-world demo of Fe's CTFE: ports Uniswap V3's `getSqrtRatioAtTick` to Fe as `pub const fn`, with bit-exact `MIN_SQRT_RATIO`/`MAX_SQRT_RATIO` bounds matching the canonical Solidity implementation.
fe: add ETH 2.0 deposit contract port + differential tests Port the official mainnet deposit contract (0x00000000219ab540356cBB839Cbe05303d7705Fa) to Fe and verify byte-for-byte equivalence against the Solidity reference. Each test vector: * Pre-computes the expected deposit_data_root in Rust so both contracts accept the deposit. * Calls deposit(...) on the Fe and Solidity contracts with matching value. * Asserts get_deposit_root() / get_deposit_count() agree between both. * Records per-call gas usage. The Fe and Sol contracts expose different ABIs (Fe splits dynamic bytes into u256 chunks), so the test encodes matching calldata for each.
Restore precise goto/hover spans in language-server snapshots The snapshot updates in 5e31d06 ("Add assert_msg") inadvertently reverted the precise-span work from 33547ea, d464fc8, and 121f360, widening highlight ranges from the variant name back to the whole variant declaration. Re-accept the snapshots that match the actual current code behavior.
PreviousNext