Repository navigation
Conversation
…verload routing documentation
…iew: complete CMTAT routing table, forwarder trust, rule-author obligations, synced rule lists, build instructions
…ble (dead CMTAT v3.3.0 link, out of order)
…in a dedicated erc3643 Foundry profile at solc 0.8.30, and bump lib/ERC-3643 to 4.2.0-beta1
…rsion test for every deployable variant
…ges into a v3.0.0-rc7 changelog entry
…ed v3.0.0 summary of the changes since v2.1.0
…e notes: no affected pattern, same warnings and bytecode size)
…yed code unchanged apart from metadata, erc3643 test profile stays on Prague
….sol error keyword warnings)
…te the current IRuleEngine / IRuleEngineERC1404 inheritance
… with the v3.3.0-rc4 code as text and fix the CMTATBaseRuleEngine link
…eedback (unchanged from rc6, nothing to fix) and refresh the audit overview
…and token self-binding so the ERC-2771 forwarder cannot impersonate a token; add forwarder-relay tests for all variants
…), output identical; update the rc7 report headers, feedback, audit overview and changelog
duplicate-batch tests for all variants, make bare expectReverts specific; docs(security): add the v3.0.0-rc7 code-quality review including tests (coverage, 33 mutants all killed)
… (admin, tokenContract)) and RuleEngine2771 (immutable trusted forwarder) over a shared RuleEngineAccessControlShared base; add RuleEngine2771 tests and update scripts and docs
feat: make ERC-2771 opt-in for the ownable variants too - RuleEngineOwnable and RuleEngineOwnable2Step drop the forwarder (constructor (owner_, tokenContract)), new RuleEngineOwnable2771 and RuleEngineOwnable2Step2771 carry it; add shared ERC-2771 and no-forwarder test bases for all six deployables and update docs
…stom errors (Aderyn L-2); docs(security): rerun Slither and Aderyn on the final rc7 code; docs: regenerate the Surya schema and refresh the inlined Surya tables
…the final code - re-verified findings, re-measured gas, ERC-2771 reuse probe, 17 new mutants all killed; fix the RuleEngine-with-CMTAT forwarder section
…nstead of rulesCount()/rule(i), saving 227 gas per rule on detectTransferRestriction (rc7 code-quality review A-3)
…75 gas per call (rc7 code-quality review B-1); docs(security): assess B-2, the contains() pre-checks in addRule/removeRule add no security
…stead of a contains() pre-check, saving 271/268 gas and removing the unreachable OperationNotSuccessful error (rc7 code-quality review B-2, branch coverage 40/40); docs(security): revise C-3 against the single-versus-batch revert convention
…ngine2771 extends RuleEngine like the ownable *2771 contracts, and group the deployables in src/deployment/accessControl and src/deployment/ownable (breaking for import paths only); docs: update READMEs, agent guide, tooling paths, Surya schema and the rc7 code-quality review D-2
…ngine2771 extends RuleEngine like the ownable *2771 contracts, and group the deployables in src/deployment/accessControl and src/deployment/ownable (breaking for import paths only); docs(security): restate I-1 and I-2 in the rc7 code-quality review with current call sites, the recomputed narrowed IRule id and the unguarded transferred of the stateful mock rules
… in the Foundry workflow (rc7 code-quality review K-4)
…ine (9 tests) and import the CMTAT interface ids in the mock rules; docs: add RuleEngine-with-CMTAT.md 4.8 on the standalone rule role and its obligations (rc7 code-quality review I-2)
…ules with require(cond, CustomError()), caching the rule cap in addRule since require evaluates error arguments eagerly (rc7 code-quality review E-2)
…canTransferFrom), new ERC-165 id 0xb1a69752 required strictly by the engine, breaking for rules advertising only 0x2497d6cb; reference rules also implement IRuleEngineERC1404 for the standalone role (rc7 code-quality review I-1)
…; test: check batch rollback and empty batches as no-ops in the three access-control families (rc7 code-quality review C-3)
… code - both hosts compile with no linearization conflict, but a CMTAT Standard token embedding TokenBindingExtendedModule is 326 bytes over EIP-170
… and note that contract size depends on the CMTAT deployment version used as host
…rowed 0xb1a69752 so rules built before rc7 keep working, checking ERC-165 support once (rc7 code-quality review I-1)
…gementModule title, _transferred wording, placeholder comment, section headers, empty Events header, restricion typo) (rc7 code-quality review G-2)
…5fe2) and update the reports, feedback and overview; docs: regenerate the Surya schema and the sol2uml diagrams (add the *2771 deployables and IRule), rendering sol2uml through Graphviz
…okens for all six deployables (rc7 code-quality review K-5); docs: correct the ERC3643TokenMock header for T-REX 4.2.0-beta1 (G-3) and add a coverage table measured on the final rc7 code (K-2)
…tionNotSuccessful error and the IRule ERC-165 id compatibility get their own bullets, the misleading No external engine interface change heading becomes an accurate What does not change
…d callback guard fuzzing, self-binding re-bind, binding of rules and EOAs, Ownable2Step acceptance window, reverting views, reentrant rule, zero forwarder); docs(security): add the rc7 Claude security audit repor
acceptOwnership, so a nominee added as a rule cannot become owner (rc7 security review F-1); test: invert the F-1 proof of concept into a regression test and add the recovery path
…iew F-2 (clear the approval on a manager unbind, single-use approval, or documentation) and F-3 (keep rules and bound tokens disjoint, document binding as a trust decision)
…s the token's self-binding approval, so the token cannot undo the manager's decision; a token unbinding itself keeps it (rc7 security review F-2); test: invert the F-2 proof of concept and cover the batch, self-unbind and event paths
…d adding a bound token as a rule now revert, via a new _checkBindingTarget hook in the token binding registry and a bound-token check in _checkRule; document binding as a trust decision (rc7 security review F-3)
…view F-4 - measured prototype (fails closed, slightly cheaper, still reverts on malformed rule data); not recommended now, with the conditions and design if an integrator needs it
…eference submodule) - per-rule restriction codes and ERC-3643 support, rules that protect one token per instance, binding the operation rules to the engine, legacy IRule ID advertised by Rules up to v0.6.0
…eference submodule) - per-rule restriction codes and ERC-3643 support, rules that protect one token per instance, binding the operation rules to the engine, legacy IRule ID advertised by Rules up to v0.6.0
… 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
…7 ones for the six deployables (Foundry and Hardhat, solc 0.8.37, Osaka); point doc/README.md Compilation to them and refresh its contract-size table
…rtifacts in doc/compilation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.