Skip to content

Verify SC files automatically#506

Merged
Franziska-Mueller merged 25 commits intodevelopfrom
feature/2025-08-13-contract-verify
Aug 20, 2025
Merged

Verify SC files automatically#506
Franziska-Mueller merged 25 commits intodevelopfrom
feature/2025-08-13-contract-verify

Conversation

@Franziska-Mueller
Copy link
Collaborator

Adds a workflow to run the contract verification tool on all SC files whenever an SC is added/changed or the workflow is changed.

This PR also fixes all compliance issues with the C++ language feature restrictions in the existing SC files.

@Franziska-Mueller Franziska-Mueller marked this pull request as ready for review August 13, 2025 15:52
Copy link
Contributor

@philippwerner philippwerner left a comment

Choose a reason for hiding this comment

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

Thanks, overall it looks good to me. I just have some minor comments.

@Franziska-Mueller Franziska-Mueller merged commit ee39270 into develop Aug 20, 2025
2 checks passed
hackerby888 added a commit to hackerby888/qubic-core-lite that referenced this pull request Aug 27, 2025
* Verify SC files automatically (qubic#506)

* compliance changes for CCF SC

* compliance changes for GQMPROP SC

* compliance changes for MSVAULT SC

* compliance changes for QEARN SC

* compliance changes for QBAY SC

* compliance changes for QUOTTERY SC

* compliance changes for QUTIL SC

* compliance changes for QX SC

* Qx: add div type explicitly to fix compile errors in test project

* compliance changes for TestExampleD SC

* add contract verify workflow

* Update contract-verify.yml

* update branch name in contract-verify.yml

* find all contract files to verify

* fix typo in contract-verify.yml

* print full path to file list

* use list of contract files as input for verify action

* only trigger contract-verify.yml when contract files or workflow file changed

* use published action in contract-verify.yml

* Revert "use published action in contract-verify.yml"

This reverts commit 6fbd535.

* mention contract verification tool in contracts.md

* make QPI div and mod constexpr

* update contract verify tool text in contracts.md

* add STATIC_ASSERT macro to enable use of static asserts in SC files

* remove workflow trigger on feature branch before merging into develop

* contributing doc: add paragraph about curly braces style

* update contract guidelines (qubic#512)

* remove unused defines that clash with QPI definitions

* fix: fixed gtest bug in qearn (qubic#516)

* fix: fixed gtest bug in qearn

* fix: removed unnecessary local variables in BEGIN_EPOCH procedure

* update contract verify tool to v0.3.3-beta

* Fix incorrect vc optimization of FourQ for release mode. (qubic#517)

* Add unittest for fourq.

* Fix MSVC misoptimization causing incorrect operation ordering.

* Unittest: Ensure FourQ is initialized if signature verification is used in contract testing.

* Add comment for optimization bug of MSVC.

* networking: support private IPs (qubic#513)

* nw: support private IPs

* remove redundant code

* fix warning

* add checking boundary when accessing publicPeers

* Fix bug relate to invalid mining seed of qpi mining. (qubic#518)

* update params for epoch 176 / v1.257.0

* Increase target tick duration

The delay function did not work due to bugs. Now the delay function
works and tick time should decrease.

---------

Co-authored-by: Franziska Mueller <11660876+Franziska-Mueller@users.noreply.github.com>
Co-authored-by: TakaYuPP <yutotaka24@gmail.com>
Co-authored-by: cyber-pc <165458555+cyber-pc@users.noreply.github.com>
Co-authored-by: dkat <39078779+krypdkat@users.noreply.github.com>
Co-authored-by: fnordspace <qubic@fnord.space>
@Franziska-Mueller Franziska-Mueller deleted the feature/2025-08-13-contract-verify branch September 3, 2025 16:34
hackerby888 added a commit to hackerby888/qubic-core-lite that referenced this pull request Sep 4, 2025
* Verify SC files automatically (qubic#506)

* compliance changes for CCF SC

* compliance changes for GQMPROP SC

* compliance changes for MSVAULT SC

* compliance changes for QEARN SC

* compliance changes for QBAY SC

* compliance changes for QUOTTERY SC

* compliance changes for QUTIL SC

* compliance changes for QX SC

* Qx: add div type explicitly to fix compile errors in test project

* compliance changes for TestExampleD SC

* add contract verify workflow

* Update contract-verify.yml

* update branch name in contract-verify.yml

* find all contract files to verify

* fix typo in contract-verify.yml

* print full path to file list

* use list of contract files as input for verify action

* only trigger contract-verify.yml when contract files or workflow file changed

* use published action in contract-verify.yml

* Revert "use published action in contract-verify.yml"

This reverts commit 6fbd535.

* mention contract verification tool in contracts.md

* make QPI div and mod constexpr

* update contract verify tool text in contracts.md

* add STATIC_ASSERT macro to enable use of static asserts in SC files

* remove workflow trigger on feature branch before merging into develop

* contributing doc: add paragraph about curly braces style

* update contract guidelines (qubic#512)

* remove unused defines that clash with QPI definitions

* fix: fixed gtest bug in qearn (qubic#516)

* fix: fixed gtest bug in qearn

* fix: removed unnecessary local variables in BEGIN_EPOCH procedure

* update contract verify tool to v0.3.3-beta

* Fix incorrect vc optimization of FourQ for release mode. (qubic#517)

* Add unittest for fourq.

* Fix MSVC misoptimization causing incorrect operation ordering.

* Unittest: Ensure FourQ is initialized if signature verification is used in contract testing.

* Add comment for optimization bug of MSVC.

* networking: support private IPs (qubic#513)

* nw: support private IPs

* remove redundant code

* fix warning

* add checking boundary when accessing publicPeers

* Fix bug relate to invalid mining seed of qpi mining. (qubic#518)

* update params for epoch 176 / v1.257.0

* Remove mining seed set function in qpi.

* Increase target tick duration

The delay function did not work due to bugs. Now the delay function
works and tick time should decrease.

* Develop (#4)

* Verify SC files automatically (qubic#506)

* compliance changes for CCF SC

* compliance changes for GQMPROP SC

* compliance changes for MSVAULT SC

* compliance changes for QEARN SC

* compliance changes for QBAY SC

* compliance changes for QUOTTERY SC

* compliance changes for QUTIL SC

* compliance changes for QX SC

* Qx: add div type explicitly to fix compile errors in test project

* compliance changes for TestExampleD SC

* add contract verify workflow

* Update contract-verify.yml

* update branch name in contract-verify.yml

* find all contract files to verify

* fix typo in contract-verify.yml

* print full path to file list

* use list of contract files as input for verify action

* only trigger contract-verify.yml when contract files or workflow file changed

* use published action in contract-verify.yml

* Revert "use published action in contract-verify.yml"

This reverts commit 6fbd535.

* mention contract verification tool in contracts.md

* make QPI div and mod constexpr

* update contract verify tool text in contracts.md

* add STATIC_ASSERT macro to enable use of static asserts in SC files

* remove workflow trigger on feature branch before merging into develop

* contributing doc: add paragraph about curly braces style

* update contract guidelines (qubic#512)

* remove unused defines that clash with QPI definitions

* fix: fixed gtest bug in qearn (qubic#516)

* fix: fixed gtest bug in qearn

* fix: removed unnecessary local variables in BEGIN_EPOCH procedure

* update contract verify tool to v0.3.3-beta

* Fix incorrect vc optimization of FourQ for release mode. (qubic#517)

* Add unittest for fourq.

* Fix MSVC misoptimization causing incorrect operation ordering.

* Unittest: Ensure FourQ is initialized if signature verification is used in contract testing.

* Add comment for optimization bug of MSVC.

* networking: support private IPs (qubic#513)

* nw: support private IPs

* remove redundant code

* fix warning

* add checking boundary when accessing publicPeers

* Fix bug relate to invalid mining seed of qpi mining. (qubic#518)

* update params for epoch 176 / v1.257.0

* Increase target tick duration

The delay function did not work due to bugs. Now the delay function
works and tick time should decrease.

---------

Co-authored-by: Franziska Mueller <11660876+Franziska-Mueller@users.noreply.github.com>
Co-authored-by: TakaYuPP <yutotaka24@gmail.com>
Co-authored-by: cyber-pc <165458555+cyber-pc@users.noreply.github.com>
Co-authored-by: dkat <39078779+krypdkat@users.noreply.github.com>
Co-authored-by: fnordspace <qubic@fnord.space>

* Fix bug in PRIVATE_PEER_IP logic

* update params for epoch 176 / v1.257.1

* fix a merge bug

* fix not ticking bug

* faster tick time in testnet

* fix contract test failed

* Update README.md

* initial linux port

* pin main thread for windows

* fix atomic bugs

* fix compilation bugs in windows

* update cmake build parameter

* Revise README_CLANG.md for clarity and accuracy

* Enhance README with build instructions and details

* Update README_CLANG.md with installation commands

Added compiler installation commands to README_CLANG.md.

* Update README.md

* linux port (#7)

* initial linux port

* pin main thread for windows

* fix atomic bugs

* fix compilation bugs in windows

* update cmake build parameter

* Revise README_CLANG.md for clarity and accuracy

* Enhance README with build instructions and details

* Update README_CLANG.md with installation commands

Added compiler installation commands to README_CLANG.md.

* Update README.md

* Format README.md for improved readability

* Revise compiler installation commands in README

Updated installation commands for clarity and added missing packages.

* performance boost

* improve networking performance

* fix compilation bugs in windows

* fix misalign bug in linux

* fix networking bugs (#9)

* tmp fix

* fixed bug cause new incomming connection get rejected

* upgrade stimulate uefi networking behaviour

* boost main thread performance in msvc

* log tick digest

* fix hangling send()

* improve send() behaviour in linux

* correctly enable non-blocking mode in windows

* remove unused logs

---------

Co-authored-by: Franziska Mueller <11660876+Franziska-Mueller@users.noreply.github.com>
Co-authored-by: TakaYuPP <yutotaka24@gmail.com>
Co-authored-by: cyber-pc <165458555+cyber-pc@users.noreply.github.com>
Co-authored-by: dkat <39078779+krypdkat@users.noreply.github.com>
Co-authored-by: fnordspace <qubic@fnord.space>
N-010 pushed a commit to N-010/core that referenced this pull request Sep 24, 2025
* compliance changes for CCF SC

* compliance changes for GQMPROP SC

* compliance changes for MSVAULT SC

* compliance changes for QEARN SC

* compliance changes for QBAY SC

* compliance changes for QUOTTERY SC

* compliance changes for QUTIL SC

* compliance changes for QX SC

* Qx: add div type explicitly to fix compile errors in test project

* compliance changes for TestExampleD SC

* add contract verify workflow

* Update contract-verify.yml

* update branch name in contract-verify.yml

* find all contract files to verify

* fix typo in contract-verify.yml

* print full path to file list

* use list of contract files as input for verify action

* only trigger contract-verify.yml when contract files or workflow file changed

* use published action in contract-verify.yml

* Revert "use published action in contract-verify.yml"

This reverts commit 6fbd535.

* mention contract verification tool in contracts.md

* make QPI div and mod constexpr

* update contract verify tool text in contracts.md

* add STATIC_ASSERT macro to enable use of static asserts in SC files

* remove workflow trigger on feature branch before merging into develop
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.

2 participants