Forte Rules Engine home page
v1
Search...
⌘K
Ask AI
Contact Us
Contact Us
Search...
Navigation
Application
AppManager Invariants
Documentation
Guides
Reference
Documentation
GitHub FRE
Contributor Guide
Get Started
Introduction
Live Demo
Networks
Core Concepts
Overview
Application Level Rules
Token Level Rules
Permissions
Customization Options
Rule Types
Tag Based
Access Level
Risk Score
Additional Concepts
Action Types
Oracles
Pricing
Advanced
Architecture
Development
Invariants
Pricing Invariants
Protocol
Client
Token
Application
AppManager Invariants
Data
ApplicationProtocolHandler Invariants
Token Systen Level Invariants
Adding New Rules
Glossary
Fees
On this page
Role Management Invariants
Access Level Invariants
Risk Score Invariants
Pause Rule Invariants
Tags Invariants
Providers
Registration
Trading Rule Allow List
New Data Provider
Data Migration
App Manager Upgrade
Application
AppManager Invariants
Role Management Invariants
There will always be a SuperAdmin
When grantRole is called directly on the AppManager contract the transaction will be reverted.
When renounceRole is called by the Super Admin the transaction will be reverted.
When addAppAdministrator is called by an account other than the Super Admin the transaction will be reverted.
When addAppAdministrator is called with an address of 0 the transaction will be reverted.
If addAppAdministrator is not reverted the AppAdministrator event will be emitted.
When renounceRole is called with argument APP_ADMIN_ROLE the AppAdministrator event will be emitted.
When addRuleAdministrator is called by an account other other than an App Admin the transaction will be reverted.
When addRuleAdministrator is called with an address of 0 the transaction will be reverted.
If addRuleAdministrator is not reverted the RuleAdmin event will be emitted.
When renounceRole is called with argument RULE_ADMIN_ROLE the RuleAdministrator event will be emitted.
When addRiskAdmin is called by an account other than an App Admin the transaction will be reverted.
When addRiskAdmin is called with an address of 0 the transaction will be reverted.
If addRiskAdmin is not reverted the RiskAdmin event will be emitted.
When renounceRole is called with argument RISK_ADMIN_ROLE the RiskAdmin event will be emitted.
When addTreasuryAccount is called by an account other than an App Admin the transaction will be reverted.
When addTreasuryAccount is called with an address of 0 the transaction will be reverted.
If addTreasuryAccount is not reverted the TreasuryAccount event will be emitted.
When renounceRole is called with argument TREASURY_ACCOUNT the TreasuryAccount event will be emitted.
When addAccessLevelAdmin is called by an account other than an App Admin the transaction will be reverted.
When addAccessLevelAdmin is called with an address of 0 the transaction will be reverted.
If addAccessLevelAdmin is not reverted the AccessLevelAdmin event will be emitted.
When renounceRole is called with argument ACCESS_LEVEL_ADMIN_ROLE the AccessLevelAdmin event will be emitted.
Access Level Invariants
If addAccessLevel is called by an account that is not an Access Level Admin the transaction will be reverted.
If addAccessLevelToMultipleAccounts is called by an account that is not an Access Level Admin the transaction will be reverted.
If addMultipleAccessLevels is called by an account that is not an Access Level Admin the transaction will be reverted.
If removeAccessLevel is called by an account that is not an Access Level Admin the transaction will be reverted.
Risk Score Invariants
If addRiskScore is called by an account that is not a Risk Admin the transaction will be reverted.
If addRiskScoreToMultipleAccounts is called by an account that is not a Risk Admin the transaction will be reverted.
If addMultipleRiskScores is called by an account that is not a Risk Admin the transaction will be reverted.
If removeRiskScore is called by an account that is not a Risk Admin the transaction will be reverted.
Pause Rule Invariants
If addPauseRule is called by an account that is not a Rule Admin the transaction will be reverted.
If removePauseRule is called by an account that is not a Rule Admin the transaction will be reverted.
If activatePauseRuleCheck is called by an account that is not a Rule Admin the transaction will be reverted.
Tags Invariants
If addTag is called by an account that is not an App Admin the transaction will be reverted.
If addTagToMultipleAccounts is called by an account that is not an App Admin the transaction will be reverted.
If addMultipleTagToMultipleAccounts is called by an account that is not an App Admin the transaction will be reverted.
If removeTag is called by an account that is not an App Admin the transaction will be reverted.
Providers
If proposeRiskScoresProvider is called with an address of 0 the transaction will be reverted.
If proposeRiskScoresProvider is called by an account that is not an App Admin the transaction will be reverted.
If proposeTagsProvider is called with an address of 0 the transaction will be reverted.
If proposeTagsProvider is called by an account that is not an App Admin the transaction will be reverted.
If proposePauseRulesProvider is called with an address of 0 the transaction will be reverted.
If proposePauseRulesProvider is called by an account that is not an App Admin the transaction will be reverted.
If proposeAccessLevelsProvider is called with an address of 0 the transaction will be reverted.
If proposeAccessLevelsProvider is called by an account that is not an App Admin the transaction will be reverted.
Registration
If isRegisteredHandler returns false for an address, calling checkApplicationRules from the address will result in the transaction being reverted.
If registerToken is called with an address of 0 the transaction will be reverted.
If registerToken is called by an account that is not an App Admin the transaction will be reverted.
If deregisterToken is called with the address of a token that is not registered, the transaction will be reverted.
If deregisterToken is called by an account that is not an App Admin the transaction will be reverted.
If deregisterToken is not reverted the RemoveFromRegistry event will be emitted.
Trading Rule Allow List
If approveAddressToTradingRuleAllowlist is called by an account that is not an App Admin the transaction will be reverted.
If an address that has not been previously added is passed in along with a false for isApproved the transaction will be reverted.
If an address that is already approved is passed in along with a true for isApproved the transaction will be reverted.
If approveAddressToTradingRuleAllowList is not reverted the TradingRuleAddressAllowList event will be emitted.
If setNewApplicationHandlerAddress is called with an address of 0 the transaction will be reverted.
If setNewApplicationHandlerAddress is called by an account that is not an App Admin the transaction will be reverted.
If setNewApplicationHandlerAddress is not reverted the HandlerConnected event will be emitted.
If setAppName is called by an account that is not an App Admin the transaction will be reverted.
If proposeDataContractMigration is called by an account that is not an App Admin the transaction will be reverted.
If proposeDataContractMigation is not reverted the AppManagerDataUpgradeProposed event is emitted.
New Data Provider
When confirmNewDataProvider is called with a provider type of TAG and is not reverted, the TagProviderSet event will be emitted.
When confirmNewDataProvider is called with a provider type of RISK_SCORE and is not reverted, the RiskProviderSet event will be emitted.
When confirmNewDataProvider is called with a provider type of ACCESS_LEVEL and is not reverted, the AccessLevelProviderSet event will be emitted.
When confirmNewDataProvider is called with a provider type of PAUSE_RULE and is not reverted, the PauseRuleProviderSet event will be emitted.
Data Migration
If confirmDataContractMigration is called by an account that is not an App Admin the transaction will be reverted.
If confirmDataContractMigration is not reverted the DataContractsMigrated event is emitted.
App Manager Upgrade
If confirmAppManager is called by an account that is not an App Admin the transaction will be reverted.
ProtocolERC721U Invariants
Tags Invariants
Assistant
Responses are generated using AI and may contain mistakes.