This pull request introduces several significant changes across various components of the mono-repo project. These changes enhance the maintainability, testing coverage, and overall functionality of the projects.
Common Makefile Functionality
Refactoring: Moved common Makefile functionality to common.mk to standardize and streamline the build process.
The common.mk file now includes reusable help macros and common directory definitions.
Updated the GitHub workflow to invoke forge test through the Makefile, which allows for passing verbosity levels via V=1 to V=5.
DIN Registry API Enhancements
New Methods:
Introduced addMethodsToCollection for batch-adding methods to collections.
Added a new method s_bit2method on endpointcollection.
Updated the provider to include dinAddress.
CUE Project Enhancements
YAML Output:
The CUE project now emits YAML that includes bit-mask fragments for each method. This is achieved by ensuring that every method list is sorted before deriving bit values, which ensures consistent and accurate bit-mask assignments across the project.
Project Cleanup
Removal: The din-sc-generator project has been removed. The CUE project now fully handles the generation of Solidity files, making the separate generator project obsolete.
Correspondingly, the Python debugging launch configuration has been removed from .vscode/launch.json.
Testing Enhancements
DIN Smart Contracts:
Updated the test-deploy.mjs script to include additional ad-hoc tests for better validation of builds.
Integrated the use of Makefiles to implement various tasks within the din-sc project.
Cuelang Integration:
Added Cuelang setup in the GitHub workflow (cue-lang/setup-cue@v1.0.1) with version v0.9.2.
Documented the CUE workflow in conf/rpc/README.
Miscellaneous
VSCode Configuration:
Removed the Python Debugger: Arbitrum configuration from .vscode/launch.json as it's no longer needed.
PR Summary
This pull request introduces several significant changes across various components of the mono-repo project. These changes enhance the maintainability, testing coverage, and overall functionality of the projects.
Common Makefile Functionality
common.mk
to standardize and streamline the build process.common.mk
file now includes reusable help macros and common directory definitions.forge test
through the Makefile, which allows for passing verbosity levels viaV=1
toV=5
.DIN Registry API Enhancements
addMethodsToCollection
for batch-adding methods to collections.s_bit2method
onendpointcollection
.dinAddress
.CUE Project Enhancements
Project Cleanup
din-sc-generator
project has been removed. The CUE project now fully handles the generation of Solidity files, making the separate generator project obsolete..vscode/launch.json
.Testing Enhancements
DIN Smart Contracts:
test-deploy.mjs
script to include additional ad-hoc tests for better validation of builds.din-sc
project.Cuelang Integration:
cue-lang/setup-cue@v1.0.1
) with versionv0.9.2
.conf/rpc/README
.Miscellaneous
Python Debugger: Arbitrum
configuration from.vscode/launch.json
as it's no longer needed.How to test
dist/