Skip to content

[SC-72] multisig-transfer's approval-rule configuration needs edge-case tests #1343

Description

@yusuftomilola

Overview

configure_approval_rule and create_transfer_request (contracts/multisig-transfer/src/lib.rs) — worth dedicated tests for configuring a rule that requires zero approvers (should presumably be rejected as meaningless), reconfiguring an existing rule while a transfer request under the old rule is still pending, and creating a request for a category with no configured rule at all.

Tasks

  • Add a test asserting configure_approval_rule rejects a zero-required-approvers configuration.
  • Add a test creating a request for an asset category that has no configured approval rule, and confirm the resulting behavior (reject, or fall back to some default) is intentional and covered.
  • Add a test reconfiguring a rule while a request under the previous rule is still pending, confirming the pending request's required-approvals count doesn't silently change underneath it.

Acceptance Criteria

  • Zero-approver configuration, missing-rule requests, and mid-flight reconfiguration are all explicitly tested.

Notes for Contributors

Requires Rust + Soroban. Workspace: contracts/ (soroban-sdk 23, members: assetsup, contrib, multisig-wallet, multisig-transfer, asset-maintenance). Run cargo test --all, cargo fmt --all -- --check, and cargo clippy --all-targets --all-features -- -D warnings before opening a PR — CI enforces all three. Comment below to be assigned.

Metadata

Metadata

Assignees

No one assigned

    Labels

    contracttestingTests, QA, and quality assurance

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions