Skip to content

v2.4.0-rc0

Pre-release
Pre-release
Compare
Choose a tag to compare
@rya-sge rya-sge released this 29 Jan 12:37
· 54 commits to dev since this release
5741a09

New architecture for the RuleEngine [#250](#250)

  • A new function operateOnTransfer is added and use inside the ValidationModule.
  • Contrary to validateTransfer, this function has to be protected by an access control (if not implemented as view or pure)
  • This function can be used to perform operation which modifies the state of the blockchain (storage) by the RuleEngine.
  • The RuleEngine inherits now from IRuleEngine wich contains in its interface the function operateOnTransfer + IERC-1404
  • The function validateTransfer is still available to verify a transfer without performing operation. The behavior is the same than with the previous CMTAT version.

snapshotModule [#256](#256)

  • Split the snapshotModuleInternal in two parts : one with the inheritance with ERC-20 and the other part with the base function and does not inherit from ERC-20.
    Thus, if we want to build a snapshotModule with the RuleEngine, we can use the base contract to avoid the inheritance with ERC-20.
  • Add a function getSnapshotInfoBatch to avoid multiple calls when computing debt payment

AuthorizationEngine [#254](#254)

  • Add the AuthorizationEngine. With that, it is possible to add supplementary check on the functions grantRole and revokeRolewithout modifying the CMTAT.

BurnModule

  • rename forceBurn and forceBurnBatch in burn and burnBatch
  • Add a function burnFrom with a specific role (useful for bridge) for compatibility with CCIP [Ccip #260](#260)
  • Add a function burnAndMint to perform a burn/mint operation atomically.

Gas optimization

Other