Releases: CMTA/RuleEngine
v2.0.4
- Fix a bug present in the Conditional Transfer rule and the corresponding test.
- Config file:
Set Solidity version to 0.8.27 in config file
Set EVM version to Cancun - Add events for the following rules : whitelist/blacklist and sanctionList rules
- Some improvements in testing
Integration test with CMTAT: set the CMTAT version to v2.5.1 - Access control: The default admin has by default all the roles for the RuleEngine and the different rules
git clone https://github.com/CMTA/RuleEngine
git checkout v2.0.4
forge install
forge build
cd lib/CMTAT
npm install
v2.0.3
- Small optimization in WhitelistWrapper; add a break in a loop
- Set Solidity version to 0.8.26 in config file
- Add constant VERSION
The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version tag
git clone https://github.com/CMTA/RuleEngine
git checkout v2.0.3
forge install
forge build
v2.0.2
- Create abstract contract ruleWhitelistCommon to contain code shared between ruleWhitelist & ruleWhitelistWrapper
- Split ADDRESS_LIST_ROLE in two distinct roles : ADDRESS_LIST_ADD_ROLE && ADDRESS_LIST_REMOVE_ROLE
The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version tag
git clone https://github.com/CMTA/RuleEngine
git checkout v2.0.2
forge install
forge build
v2.0.1
Add a new rule WhitelistWrapper
This rule can be used to restrict transfers from/to only addresses inside a group of whitelist rules managed by different operators.
`The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version tag
git clone https://github.com/CMTA/RuleEngine
git checkout v2.0.1
forge install
forge build
v2.0.0
- Implement the new architecture for the RuleEngine, with ValidationRule and OperationRule
- Add the rule ConditionalTransfer as an Operation rule
- Add the rule Blacklist as a Validation rule
- Whitelist and blacklist rules share a part of their code.
- Upgrade the library CMTAT to the version v2.4.0
- Fix a minor bug when rules are deleted with clearRules
The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version taggit clone https://github.com/CMTA/RuleEngine
git checkout v2.0.0
forge install
forge build
v1.0.2.1
The release v1.0.2
contains a minor bug:
When using setRules and clearRules, the rules currently present in the array are not set to "False" in the map.
As a result, a removed rule can not be added again since we use the map to check if a rule is already present
The release v1.0.2.1
fixes that by setting the removed rules to "False" in the map.
This bug doesn't affect how the RuleEngine
works with the CMTAT, since in this case, only the array is used.
This patch is not audited. If you think that it is not a issue for your usage, you should prefer the use of the version 1.0.2
which is audited.
v1.0.3
- Upgrade the library CMTAT to the vesion v2.3.1
- Use custom errors instead of revert message
- Add the rule
SanctionList
- Upgrade OpenZeppelin to the version v5.0.0
- Add github workflow with Foundry
The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version tag
git clone https://github.com/CMTA/RuleEngine
git checkout v1.0.3
forge install
forge build
v1.0.2
This release contains a minor bug, described here: v1.0.2.1
The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version tag
git clone https://github.com/CMTA/RuleEngine
git checkout v1.0.2
forge install
forge build
- Set optimizer run to 200
- Update the documentation
1.0.2-rc.0
The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version taggit clone https://github.com/CMTA/RuleEngine
git checkout 1.0.2-Beta
forge install
The release 1.0.2 contains mainly the different fixes and improvements related to the audit performed on the version 1.0.1.
Documentation
- Update the documentation for the release
- Add slither report
- Install hardhat in order to generic docgen documentation
General modifications
- Upgrade the library CMTAT to the latest version 2.3-Beta (pull/28)
- In RuleEngine,
ruleLength
is changed torulesCount()
- In RuleEngine,
- Add the gasless suport / MetaTx module (pull/27)
- RuleWhitelist: update RuleWhitelist to use code from IEIP1404Wrapper (pull/29)
Audit report
This version also includes improvements suggested by the audit report, addressing the following findings:
General
- CVF-10: use a floating pragma for the version (pull/25)
- CVF2, CVF-6: remove the function kill for the contracts RuleEngine and Whitelist (pull/17)
RuleEngine
- CVF-1 / removeRule: add an additional argument with the rule index hint (pull/23)
- CVF-7, CVF-8, CVF-9: check for duplicate rule (pull/20)
Whitelist
1.0.1
1.0.1 - 20230122
- Update the library CMTAT to the version [2.2](https://github.com/CMTA/CMTAT/releases/tag/2.2)
- Update the library OpenZeppelin to the version [4.8.1](https://github.com/OpenZeppelin/openzeppelin-contracts/releases/tag/v4.8.1)
- Improve integration test with CMTAT
Installation
The release does not include the .git folder, which does not allow installing dependencies.
The easiest solution is to clone the project and perform a git checkout on the version tag
git clone https://github.com/CMTA/RuleEngine
git checkout 1.0.1
forge install