Skip to content

Add a CI check to keep stdlib.json in sync with library - #73

Closed
schoen wants to merge 13 commits into
BlockstreamResearch:masterfrom
schoen:ci-check-stdlib-json
Closed

schoen wants to merge 13 commits into
BlockstreamResearch:masterfrom
schoen:ci-check-stdlib-json

Conversation

@schoen

@schoen schoen commented Oct 26, 2026

Copy link
Copy Markdown
Contributor
  • This PR suggests a bug fix and I've added the necessary tests.
  • This PR introduces a new feature and I've discussed the update in an Issue or with the team.
  • This PR is just a minor change like a typo fix.

Add a GitHub CI action and corresponding Python script to check that there are no differences between the list of functions that are documented in docs/stdlib.json and the list of functions that are defined in source files under simf/lib. (Of course, this doesn't guarantee that the documentation is correct, only that every function is documented in some way and every documented function exists.)

aritkulova and others added 13 commits September 11, 2026 15:45
* added mul_div functions with tests

* added zero checks for div_128 and div_256 to be consistent with jet's `divide`

* added tests for new helper functions

* typo in a test name

* utilized convert and split functions

* added mul_div docs;
moved arithmetic section for u128 and u256 to be consistent with other sections

* linting

* added docs for new functions

* fixed typo

* fixed bug in normalize_to_threshold funcs

* added more tests to cover new u512 division functionality

* bumped simplex version

* optimization for calculate_normalizer_base_128

* typo fixes

* a couple of new tests for calculate_normalizer_base_128
…search#55)

* fix: pin specific Simplex version for tests.yml

* refactor: change simf tests structure

* fmt: apply format and add chech into tests.yml file

* fmt: apply simfmt to all files

* refactor: dedup some of simf/tests functions

* refactor: rust part and organize everything by modules

* refactor(rename): tests/stdlib functions

* refactor: better organization for stdlib tests

* refactor: separate lint from tests in workflows

* refactor: separate crate::lib from crate::tests
* refactored div functions to panic if the divisor is zero;
removed safe_div_128 and safe_div_256 because they duplicate `div` functionality

* refactored mul_div functions to panic if the divisor is zero

* updated docs

* fixed test in common::uint;

added -v workaround to ci;

fixed typos

* fixed comments for checked_div
* removed `safe_` prefixes from div functions

* removed `_safe` prefixes;
`add` became `add_carry`;
`sub` - `sub_borrow`;
`mul` - `mul_wide`.
* added functions for retrieving the AssetId and Amount

* renamed asset_id_amount directory to utxo

* updated tests to have different amounts for input and output of the same index

* optimised getters

* restructured doc comment;
renamed get_current to get_explicit and get_confidential for consistency

* test refactoring:
added negative tests;
added witness for parity bit;
utxo order in a tx is now deterministic;
small cleanups

* refactoring and typo fixes

* test refactoring:
added `send_issued` and `create_utxos_with_new_asset` to send some other asset_id;
added randomization for amounts;
added function to check for pass and failure cases on same utxo.

* refactored doc comments

* excess doc commets
* added functions for asserting the AssetId and Amount

* updated changelog

* increased timeout-minutes for github ci
* added backticks for types in docs, removed backsticks in source comments

* fixed miswording about overflow in math source comments

* added info about panic to getters source comments

* updated readme and changelog
* fix: non-canonical field-element encodings

* fix: gej_point_eq aborts instead of returning false for an invalid compressed point

* fix: Jacobian point equality accepts off-curve witness  points

* feat: optimize get_point_eq function
* added getters for script hash

* added script tweaking for tests

* updated changelog

* removed get_current_script_hash;
minor refactoring;
fixed typos

* fixed typo in version counter
* bumped version;
updated readme

* organized changelog;
bumped `SIMPLEX_VERSION` in CI

* expanded changelog description;
fixed typo
@schoen

schoen commented Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #75 (PR against the dev branch).

@schoen schoen closed this Oct 29, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants