Skip to content

Helper functions for future confidential transactions on secp256k1#28

Merged
Hrom131 merged 8 commits into
devfrom
feat/add-point-ops
Jul 22, 2026
Merged

Helper functions for future confidential transactions on secp256k1#28
Hrom131 merged 8 commits into
devfrom
feat/add-point-ops

Conversation

@LesterEvSe

Copy link
Copy Markdown
Collaborator

Adds secp256k1 with primitives for
Fe, Scalar, Ge, Gej, and Point: subtraction, equality, assertion variants, compression/decompression wrappers,

  • u64_widen
  • assert_eq_1 and assert_none_1
  • Basic helper operations for secp256k1

@LesterEvSe
LesterEvSe requested review from Hrom131 and apoelstra July 17, 2026 13:13
@LesterEvSe LesterEvSe self-assigned this Jul 17, 2026
@LesterEvSe LesterEvSe added the enhancement New feature or request label Jul 17, 2026
@LesterEvSe
LesterEvSe force-pushed the feat/add-point-ops branch from b1f7827 to 116cce1 Compare July 17, 2026 13:28
Comment thread simf/lib/u64.simf

@Hrom131 Hrom131 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@Hrom131
Hrom131 merged commit ce2e405 into dev Jul 22, 2026
1 check passed
@Hrom131
Hrom131 deleted the feat/add-point-ops branch July 22, 2026 11:55
Arvolear added a commit that referenced this pull request Jul 24, 2026
* Initial version (#8)

* added simplex template

* added assert functions with test

* documented functions in asserts file

* added todo comment

* updated simplex version to 0.0.5

* Example of a test with the unhappy path (#9)

* updated test with negative path for asserts

* fixed typo

* added helper function to mock;
fixed typo

* added more specific error check

* Updated smplx version (#12)

* updated minimal simplex version to 0.0.6

* fixed test command in ci

* Asserts function refactoring (#11)

* renamed asserts functions to be more consistent;
removed unsuported "pub" modifier

* made asserts test more detailed;
added random generation of test data

* added logical operations (#13)

* Added safe uint functions (#14)

* added safe functions for u8, u16, u32, u64

* added mocks and tests for uints

* fixed incorrect names in tests

* fixed import order in tests

* linting

* refactored error assertion in tests

* Updated readme (#15)

* updated readme

* added instructions for smplx installation

* Feat/modules (#17)

* updated contracts to use modules and imports

* updated u8, u16, u32 and u64 contracts to use modules and imports

* fixing ci by using smplx from specific commit

* trying to fix ci

* updated readme

* Refactor library architecture (#19)

* feat: recode `uint` operations for clarity

* feat: refactor `asserts_test.rs` and `README.md` a bit

* refactor: docstring a little bit more

* update: version of Simplex to `0.0.7`

* refactor: docstring for macros and simf code a bit

* Add uint128 (#21)

* added  functions for u128;
added assert_eq_128

* added test for assert_eq_128

* updated simplex version

* fixed typo

* fixed typo

* optimized mul_128;
removed temporary helper

* divided tests for uint128 to speed up github ci

* trying to optimize ci by running simplex tests on multiple threads

* removed unused witness

* refactored index in tests;
splitted test by module

* optimized u128

* added check for randomized inputs in tests

* added more test cases for sub128

* refactored and optimized tests

* added a fex test cases for div_mod_128

* refactored tests for left and right shift

* Add gt ge functions for uints (#23)

* added gt and ge operators

* removed  unnecessary pub modifier

* renamed assert_bool to prevent future collisions

* added gt and ge operators for u128

* Add functions for op_return (#22)

* added functions for op_return;
added run_with_op_return to helpers

* fixed todo

* added documentation for op_return functions

* Feat/get ready for release (#24)

* uodated readme

* updated Cargo.toml

* Helper functions for future confidential transactions on secp256k1 (#28)

* feat: add `u64_widen` helper function

* feat: add ec operations and test them, add asserts for u1

* refactor: delete unused file

* refactor(u64): restore gt and ge in u64_test.simf

* refactor: naming for elliptic curve operations

* refactor: rename u64_widen into u64_into_u256 and fix test case

* refactor: rename the test

* update: add secp256k1 operations to README file

* Fix/pre-release (#29)

* renamed logical_operations to boolean;
added xor

* linting

* added todo comment

* renamed boolean file to binary

* cleanup

---------

Co-authored-by: Yuliia Aritkulova <94910987+aritkulova@users.noreply.github.com>
Co-authored-by: Yevhenii Sekhin <evgenii.nikolaevichfgh@gmail.com>
Co-authored-by: Artem Chystiakov <artem.ch31@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants