Skip to content
Navigation Menu
Sign in
Appearance settings
Platform
AI CODE CREATION
GitHub Copilot
Write better code with AI
GitHub Copilot app
Direct agents from issue to merge
MCP Registry
Integrate external tools
DEVELOPER WORKFLOWS
Actions
Automate any workflow
Codespaces
Instant dev environments
Issues
Plan and track work
Code Review
Manage code changes
Code Quality
Enforce quality at merge
APPLICATION SECURITY
GitHub Advanced Security
Find and fix vulnerabilities
Code security
Secure your code as you build
Secret protection
Stop leaks before they start
EXPLORE
Why GitHub
Documentation
Blog
Changelog
Marketplace
View all features
Solutions
BY COMPANY SIZE
Enterprises
Small and medium teams
Startups
Nonprofits
BY USE CASE
App Modernization
DevSecOps
DevOps
CI/CD
View all use cases
BY INDUSTRY
Healthcare
Financial services
Manufacturing
Government
See all industries
View all solutions
Resources
EXPLORE BY TOPIC
AI
Software Development
DevOps
Security
View all topics
EXPLORE BY TYPE
Customer stories
Events & webinars
Ebooks & reports
Business insights
GitHub Skills
SUPPORT & SERVICES
Documentation
Customer support
Community forum
Trust center
Partners
View all resources
Open Source
COMMUNITY
GitHub Sponsors
Fund open source developers
PROGRAMS
Security Lab
Maintainer Community
GitHub Stars
Archive Program
REPOSITORIES
Topics
Trending
Collections
Enterprise
ENTERPRISE SOLUTIONS
Enterprise platform
AI-powered developer platform
AVAILABLE ADD-ONS
GitHub Advanced Security
Enterprise-grade security features
Copilot for Business
Enterprise-grade AI features
Premium Support
Enterprise-grade 24/7 support
Pricing
Search
/
Sign in
Sign up
Appearance settings
You signed in with another tab or window.
Reload
to refresh your session.
You signed out in another tab or window.
Reload
to refresh your session.
You switched accounts on another tab or window.
Reload
to refresh your session.
Dismiss alert
{{ message }}
CMTA
RuleEngine
Repository navigation
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
More
items
Dev - rc7
- #71
#71
Merged
rya-sge
merged 53 commits into
main
CMTA/RuleEngine:main
from
dev
CMTA/RuleEngine:dev
Copy head branch name to clipboard
Oct 16, 2026
Conversation
Commits
53
(53)
Checks
Files changed
Merged
Dev - rc7
#71
rya-sge
merged 53 commits into
main
CMTA/RuleEngine:main
from
dev
CMTA/RuleEngine:dev
Copy head branch name to clipboard
Commits
Commits on Oct 14, 2026
Update spec for rc6
rya-sge
committed
716bb47
View commit details
Copy full SHA for 716bb47
Browse repository at this point
Update CMTAT submodule to v3.3.0-rc4 and fix the CMTAT transferred-overload
Show description for b152e94
rya-sge
committed
b152e94
View commit details
Copy full SHA for b152e94
Browse repository at this point
Update CMTAT to v3.3.0-rc4 and apply the RuleEngine documentation review: complete CMTAT routing table, forwarder trust, rule-author obligations, synced rule lists, build instructions
rya-sge
committed
a84f04d
View commit details
Copy full SHA for a84f04d
Browse repository at this point
docs: remove the RuleEngine v3.0.0-rc3 row from the compatibility table (dead
Show description for bc32f20
rya-sge
committed
bc32f20
View commit details
Copy full SHA for bc32f20
Browse repository at this point
test: add a real ERC-3643 token suite (T-REX 4.2.0-beta1, 13 tests) in a dedicated erc3643 Foundry profile at solc 0.8.30, and bump lib/ERC-3643 to 4.2.0-beta1
rya-sge
committed
cc984d8
View commit details
Copy full SHA for cc984d8
Browse repository at this point
feat: version() returns 3.0.0-rc6 to match the release tag, with a version test for every deployable variant
rya-sge
committed
32ed59c
View commit details
Copy full SHA for 32ed59c
Browse repository at this point
chore(release): bump version to 3.0.0-rc7 and move the post-rc6 changes into a v3.0.0-rc7 changelog entry
rya-sge
committed
bcd9a88
View commit details
Copy full SHA for bcd9a88
Browse repository at this point
docs(changelog): add the rc7 breaking-change section and an unreleased v3.0.0 summary of the changes since v2.1.0
rya-sge
committed
e6b047a
View commit details
Copy full SHA for e6b047a
Browse repository at this point
chore(deps): compile with Solidity 0.8.37 (checked against the release notes: no affected pattern, same warnings and bytecode size)
rya-sge
committed
2b7460f
View commit details
Copy full SHA for 2b7460f
Browse repository at this point
chore(config): target the Osaka EVM (Fusaka) instead of Prague; deployed code unchanged apart from metadata, erc3643 test profile stays on Prague
rya-sge
committed
3edada4
View commit details
Copy full SHA for 3edada4
Browse repository at this point
Run npm audit fix
rya-sge
committed
056ca5f
View commit details
Copy full SHA for 056ca5f
Browse repository at this point
chore(deps): update forge-std to v1.17.0 (drop-in, removes the 58 Vm.sol error keyword warnings)
rya-sge
committed
4219823
View commit details
Copy full SHA for 4219823
Browse repository at this point
docs: remove the outdated Surya IRuleEngine inheritance graph and state the current IRuleEngine / IRuleEngineERC1404 inheritance
rya-sge
committed
5a45e07
View commit details
Copy full SHA for 5a45e07
Browse repository at this point
docs: replace the outdated CMTAT code screenshots in doc/other/CMTAT with the v3.3.0-rc4 code as text and fix the CMTATBaseRuleEngine link
rya-sge
committed
2b3dee4
View commit details
Copy full SHA for 2b3dee4
Browse repository at this point
style: apply forge fmt to the interface-ID libraries (line wrapping only)
rya-sge
committed
a91ca9a
View commit details
Copy full SHA for a91ca9a
Browse repository at this point
docs(security): add the v3.0.0-rc7 Slither and Aderyn reports with feedback (unchanged from rc6, nothing to fix) and refresh the audit overview
rya-sge
committed
9ee134d
View commit details
Copy full SHA for 9ee134d
Browse repository at this point
Update changelog
rya-sge
committed
6476c3a
View commit details
Copy full SHA for 6476c3a
Browse repository at this point
Commits on Oct 15, 2026
fix(security): identify tokens by msg.sender in the bound-token gate and token self-binding so the ERC-2771 forwarder cannot impersonate a token; add forwarder-relay tests for all variants
rya-sge
committed
4946c87
View commit details
Copy full SHA for 4946c87
Browse repository at this point
docs(security): re-run Slither and Aderyn on the ERC-2771 fix (4946c87), output identical; update the rc7 report headers, feedback, audit overview and changelog
rya-sge
committed
5786de8
View commit details
Copy full SHA for 5786de8
Browse repository at this point
test: add rule-aggregation fuzz tests, self-binding approval event and
Show description for c54e69a
rya-sge
committed
c54e69a
View commit details
Copy full SHA for c54e69a
Browse repository at this point
feat: split the RBAC engine into RuleEngine (no ERC-2771, constructor (admin, tokenContract)) and RuleEngine2771 (immutable trusted forwarder) over a shared RuleEngineAccessControlShared base; add …
Show description for a183425
rya-sge
committed
a183425
View commit details
Copy full SHA for a183425
Browse repository at this point
ommit message:
Show description for 850976f
rya-sge
committed
850976f
View commit details
Copy full SHA for 850976f
Browse repository at this point
fix: raise the pragma to ^0.8.27, the real floor for require with custom errors (Aderyn L-2); docs(security): rerun Slither and Aderyn on the final rc7 code; docs: regenerate the Surya schema and…
Show description for 3b94564
rya-sge
committed
3b94564
View commit details
Copy full SHA for 3b94564
Browse repository at this point
docs(security): second pass of the v3.0.0-rc7 code-quality review on the final code - re-verified findings, re-measured gas, ERC-2771 reuse probe, 17 new mutants all killed; fix the RuleEngine-with…
Show description for 2c0092e
rya-sge
committed
2c0092e
View commit details
Copy full SHA for 2c0092e
Browse repository at this point
erf: iterate the rule set directly in the RuleEngineBase view loops instead of rulesCount()/rule(i), saving 227 gas per rule on detectTransferRestriction (rc7 code-quality review A-3)
rya-sge
committed
9c12cdf
View commit details
Copy full SHA for 9c12cdf
Browse repository at this point
perf: read each rule once in messageForTransferRestriction, saving 375 gas per call (rc7 code-quality review B-1); docs(security): assess B-2, the contains() pre-checks in addRule/removeRule add …
Show description for 9f9628c
rya-sge
committed
9f9628c
View commit details
Copy full SHA for 9f9628c
Browse repository at this point
perf: rely on the EnumerableSet return value in addRule/removeRule instead of a contains() pre-check, saving 271/268 gas and removing the unreachable OperationNotSuccessful error (rc7 code-quality …
Show description for 7dca285
rya-sge
committed
7dca285
View commit details
Copy full SHA for 7dca285
Browse repository at this point
refactor: fold RuleEngineAccessControlShared into RuleEngine so RuleEngine2771 extends RuleEngine like the ownable *2771 contracts, and group the deployables in
Show description for 34e113c
rya-sge
committed
34e113c
View commit details
Copy full SHA for 34e113c
Browse repository at this point
refactor: fold RuleEngineAccessControlShared into RuleEngine so RuleEngine2771 extends RuleEngine like the ownable *2771 contracts, and group the deployables in
Show description for 6b1d67c
rya-sge
committed
6b1d67c
View commit details
Copy full SHA for 6b1d67c
Browse repository at this point
ci: run the real ERC-3643 suite (FOUNDRY_PROFILE=erc3643 forge test) in the Foundry workflow (rc7 code-quality review K-4)
rya-sge
committed
29b60b1
View commit details
Copy full SHA for 29b60b1
Browse repository at this point
test: cover a reference rule set directly as a CMTAT token's rule engine (9 tests) and import the CMTAT interface ids in the mock rules; docs: add RuleEngine-with-CMTAT.md 4.8 on
Show description for 3d45562
rya-sge
committed
3d45562
View commit details
Copy full SHA for 3d45562
Browse repository at this point
refactor: replace the remaining if/revert sites in src and the mock rules with require(cond, CustomError()), caching the rule cap in addRule since require evaluates error arguments eagerly (rc7 cod…
Show description for ba86f58
rya-sge
committed
ba86f58
View commit details
Copy full SHA for ba86f58
Browse repository at this point
feat: narrow IRule to the functions the engine calls (no canTransfer/canTransferFrom), new ERC-165 id 0xb1a69752 required strictly by the engine, breaking for rules advertising only 0x2497d6cb; ref…
Show description for 743d6e8
rya-sge
committed
743d6e8
View commit details
Copy full SHA for 743d6e8
Browse repository at this point
docs: state that bindTokens/unbindTokens are atomic by design and why; test: check batch rollback and empty batches as no-ops in the three access-control families (rc7 code-quality review C-3)
rya-sge
committed
310e748
View commit details
Copy full SHA for 310e748
Browse repository at this point
docs(security): re-run the J-1 registry reuse probes on the final rc7 code - both hosts compile with no linearization conflict, but a CMTAT Standard token embedding TokenBindingExtendedModule is 32…
Show description for f62e8c3
rya-sge
committed
f62e8c3
View commit details
Copy full SHA for f62e8c3
Browse repository at this point
docs(security): present the rc7 J-1 registry reuse checks as examples and note that contract size depends on the CMTAT deployment version used as host
rya-sge
committed
4c92713
View commit details
Copy full SHA for 4c92713
Browse repository at this point
feat: accept the legacy IRule ERC-165 id 0x2497d6cb alongside the narrowed 0xb1a69752 so rules built before rc7 keep working, checking ERC-165 support once (rc7 code-quality review I-1)
rya-sge
committed
9d60b26
View commit details
Copy full SHA for 9d60b26
Browse repository at this point
docs: fix the remaining stale NatSpec and comments in src (RulesManagementModule title, _transferred wording, placeholder comment, section headers, empty Events header,
Show description for 3055fe2
rya-sge
committed
3055fe2
View commit details
Copy full SHA for 3055fe2
Browse repository at this point
docs(security): re-run Slither and Aderyn on the final rc7 code (3055fe2) and update the reports, feedback and overview; docs: regenerate the Surya schema and the sol2uml diagrams
Show description for 4e49528
rya-sge
committed
4e49528
View commit details
Copy full SHA for 4e49528
Browse repository at this point
test: add handler-based invariant tests over the rule set and bound tokens for all six deployables (rc7 code-quality review K-5); docs: correct the ERC3643TokenMock header for T-REX 4.2.0-beta1 (G-…
Show description for e41e8a7
rya-sge
committed
e41e8a7
View commit details
Copy full SHA for e41e8a7
Browse repository at this point
docs: list every rc7 breaking change in the CHANGELOG - removed OperationNotSuccessful error and the IRule ERC-165 id compatibility get their own bullets, the misleading No external engine interfac…
Show description for 51d0337
rya-sge
committed
51d0337
View commit details
Copy full SHA for 51d0337
Browse repository at this point
test: add rc7 security review tests on all six deployables (admin and callback guard fuzzing, self-binding re-bind, binding of rules and EOAs, Ownable2Step acceptance window,
Show description for 97cbd63
rya-sge
committed
97cbd63
View commit details
Copy full SHA for 97cbd63
Browse repository at this point
fix: RuleEngineOwnable2Step re-checks the rule-account guard in
Show description for efaf860
rya-sge
committed
efaf860
View commit details
Copy full SHA for efaf860
Browse repository at this point
ocs(security): detail the implementation options for rc7 security review F-2 (clear the
Show description for 367d28c
rya-sge
committed
367d28c
View commit details
Copy full SHA for 367d28c
Browse repository at this point
fix: an administrative unbind (unbindToken / unbindTokens) now revokes the token's self-binding approval, so the token cannot undo the manager's decision; a token unbinding itself keeps it (rc7 sec…
Show description for 9c43b01
rya-sge
committed
9c43b01
View commit details
Copy full SHA for 9c43b01
Browse repository at this point
fix: keep rules and bound tokens disjoint - binding a current rule and adding a bound token as a rule now revert, via a new _checkBindingTarget hook in the token binding registry
Show description for c7a19c7
rya-sge
committed
c7a19c7
View commit details
Copy full SHA for c7a19c7
Browse repository at this point
Commits on Oct 16, 2026
ocs(security): analyse a try/catch in canTransfer for rc7 security review F-4
Show description for 848bdb0
rya-sge
committed
848bdb0
View commit details
Copy full SHA for 848bdb0
Browse repository at this point
docs: check the rule documentation against Rules v0.6.0 (added as a reference submodule) - per-rule restriction codes and ERC-3643 support, rules that protect one token per instance, binding the op…
Show description for 3d4913b
rya-sge
committed
3d4913b
View commit details
Copy full SHA for 3d4913b
Browse repository at this point
docs: check the rule documentation against Rules v0.6.0 (added as a reference submodule) - per-rule restriction codes and ERC-3643 support, rules that protect one token per instance, binding the op…
Show description for 29556e5
rya-sge
committed
29556e5
View commit details
Copy full SHA for 29556e5
Browse repository at this point
docs(security): re-run Slither and Aderyn on the final rc7 code (29556e5, after the security review fixes F-1 to F-3) - Slither output identical; Aderyn 90 -> 91 instances (L-5 empty default of the…
Show description for 74c5d47
rya-sge
committed
74c5d47
View commit details
Copy full SHA for 74c5d47
Browse repository at this point
docs: add a CMTAT compatibility table to the root README - RuleEngine rc7 supports CMTAT >= v3.0.0 (tested against v3.0.0 and v3.3.0-rc4), which RuleEngine to use with CMTAT v3.0.0
rya-sge
committed
bfa9ece
View commit details
Copy full SHA for bfa9ece
Browse repository at this point
docs: replace the v3.0.0-rc2 compilation artifacts with the v3.0.0-rc7 ones for the six deployables (Foundry and Hardhat, solc 0.8.37, Osaka); point doc/README.md Compilation to them and refresh it…
Show description for 3386555
rya-sge
committed
3386555
View commit details
Copy full SHA for 3386555
Browse repository at this point
docs: add a release checklist item requiring the latest compilation artifacts in doc/compilation
rya-sge
committed
e52f1a7
View commit details
Copy full SHA for e52f1a7
Browse repository at this point
You can’t perform that action at this time.