Program Address Filter
The Program Address Filter evaluates whether program addresses (Program Accounts) involved in a transaction should be included in subsequent risk control calculations, thereby controlling asset flows generated through program calls.
I. Filter Positioning
This filter serves as a mechanism for controlling the security boundary of program calls in transactions within the asset filtering system.
It determines which program addresses’ invocations are included in subsequent risk control rules, preventing unauthorized programs from altering wallet or passed account assets.
- Problem solved: Prevent asset transfers or generation via unauthorized program calls
- Difference from other asset filters: Does not directly control assets; instead, it controls the scope of program calls to indirectly protect asset safety
II. Target Scope
- Program addresses (Program Accounts) invoked in a transaction
- Only controls the invoked programs, not the direct assets of the wallet or passed accounts
Note: This filter does not control transaction success; it only determines whether a program call triggers subsequent risk control calculations.
III. Parameters
The Program Address Filter supports whitelist or blacklist-based matching strategies:
-
Whitelist Mode (InList)
- Only program addresses on the list are included in subsequent risk control calculations
- Program calls not on the list do not trigger this filter’s risk control evaluation
-
Blacklist Mode (NotInList)
- Program calls on the list are excluded from subsequent risk control calculations
- Program calls not on the list are included in subsequent risk control calculations
Program address lists are configured using on-chain program public keys (Pubkeys).
Note: This filter does not directly restrict transaction execution; it only determines whether a program call is included in subsequent risk control rules.
IV. Typical Use Cases
-
Whitelist Mode (InList)
- Only allow transactions to call specified on-chain programs and their specific methods
- Calls to non-listed programs or methods do not trigger risk control calculations
-
Blacklist Mode (NotInList)
- Disallow transactions from calling listed on-chain programs
- Only calls to programs not on the list enter subsequent risk control calculations
Note: The Program Address Filter does not directly affect transaction execution or asset safety.
It must be combined with specific risk control rules (e.g., program parameter constraints) to be effective.
It cannot be combined with single transaction limits or periodic transaction amount restrictions.