@@ -64,46 +64,55 @@ into their contracts, using the relevant supporting libs only, to minimise
6464dependencies and potential code bloat, or even inconsistent behaviours between
6565libs.
6666
67- ## Dev stuff
67+ ## Install
6868
69- ### Local environment & CI
69+ Via [ soldeer ] ( https://soldeer.xyz ) :
7070
71- Uses nixos.
71+ ``` sh
72+ forge soldeer install rain-math-fixedpoint~< version>
73+ ```
7274
73- Install ` nix develop ` - https://nixos.org/download.html .
75+ ## Develop
7476
75- Run ` nix develop ` in this repo to drop into the shell. Please ONLY use the nix
76- version of ` foundry ` for development, to ensure versions are all compatible .
77+ This repo uses [ nix ] ( https://nixos.org/download.html ) . The default shell is the
78+ slim ` sol-shell ` from [ rainix ] ( https://github.com/rainlanguage/rainix ) .
7779
78- Read the ` flake.nix ` file to find some additional commands included for dev and
79- CI usage.
80+ ``` sh
81+ nix develop # enter the shell
82+ forge soldeer install # install deps declared in foundry.toml
83+ forge test
84+ ```
8085
81- ## Legal stuff
86+ Tasks:
8287
83- Everything is under DecentraLicense 1.0 (DCL-1.0) which can be found in ` LICENSES/ ` .
88+ - ` rainix-sol-test ` — ` forge test `
89+ - ` rainix-sol-static ` — slither
90+ - ` rainix-sol-legal ` — ` reuse lint `
8491
85- This is basically ` CAL-1.0 ` which is an open source license
86- https://opensource.org/license/cal-1-0
92+ Use the nix-pinned ` forge ` for all development.
8793
88- The non-legal summary of DCL-1.0 is that the source is open, as expected, but
89- also user data in the systems that this code runs on must also be made available
90- to those users as relevant, and that private keys remain private.
94+ ## Publish
9195
92- Roughly it's "not your keys, not your coins" aware, as close as we could get in
93- legalese.
96+ Tag ` v<x.y.z> ` on ` main ` . The
97+ [ ` Publish to Soldeer ` ] ( .github/workflows/publish-soldeer.yaml ) wrapper delegates
98+ to rainix's reusable workflow, which derives the package name from the repo name
99+ (` rain.math.fixedpoint ` → ` rain-math-fixedpoint ` ).
94100
95- This is the default situation on permissionless blockchains, so shouldn't require
96- any additional effort by dev-users to adhere to the license terms.
101+ ## License
97102
98- This repo is REUSE 3.2 compliant https://reuse.software/spec-3.2/ and compatible
99- with ` reuse ` tooling (also available in the nix shell here).
103+ DecentraLicense 1.0 (DCL-1.0) — full text in
104+ [ ` LICENSES/ ` ] ( LICENSES/LicenseRef-DCL-1.0.txt ) . Roughly ` CAL-1.0 `
105+ ([ opensource.org] ( https://opensource.org/license/cal-1-0 ) ) plus user-data
106+ disclosure obligations consistent with permissionless-blockchain assumptions.
100107
101- ```
108+ This repo is [ REUSE 3.2] ( https://reuse.software/spec-3.2/ ) compliant. Verify
109+ locally:
110+
111+ ``` sh
102112nix develop -c rainix-sol-legal
103113```
104114
105115## Contributions
106116
107- Contributions are welcome ** under the same license** as above.
108-
109- Contributors agree and warrant that their contributions are compliant.
117+ Welcome under the same license. Contributors warrant that their contributions
118+ are compliant.
0 commit comments