Skip to content

Flip ACL semantics to default-require-signature #3068

@Fumuran

Description

@Fumuran

Spun out of #2964 (Approach 2, originally proposed by @PhilippGackstatter in PR #2958 (#2958 (comment))).

Mirror the pattern from AuthMultisig::compute_transaction_threshold — instead of listing procedures that trigger a signature, list the procedures that are exempt from it. Anything not on the exempt list defaults to requiring a signature, so forgetting to register a new setter can never silently leave it permissionless. This also removes the allow_unauthorized_output_notes and allow_unauthorized_input_notes flags.

Note: on its own this does not fix the original fee-drain bug, but it is a sound improvement that pairs well with sub-issues 1 and 3.

Sub-issue of #2964

Metadata

Metadata

Assignees

No one assigned

    Labels

    standardsRelated to standard note scripts or account components
    No fields configured for Enhancement.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions