circles-utils
Shared Circles utility functions, currently focused on demurrage/inflation conversions ported from the TypeScript CirclesConverter.
Usage
use ;
use U256;
let val = U256from;
let static_val = atto_circles_to_atto_static_circles; // uses current time
let back = atto_static_circles_to_atto_circles;
assert_eq!;
let day = day_from_timestamp; // 0 (day zero)
Notes
- Pure, synchronous math; no IO or async dependencies.
- Constants mirror the TS SDK: Gamma/Beta 64.64 factors, Circles day zero, 1e18 atto factor; tests tolerate tiny floating drift to match TS fixtures.
- Downstream crates (pathfinder, transfers) reuse these converters for wrapper/token handling.