Description
Co-administration today requires a wrapper multisig contract. Provide a first-class register_offering_multisig entry that takes a multisig contract address and stores it as the canonical issuer principal, with documented expectations on require_auth resolution against the multisig.
Requirements and context
- Must be secure, tested, and documented
- Should be efficient and easy to review
- Relevant code:
Revora-Contracts/src/lib.rs, Revora-Contracts/src/test_multisig_gas.rs
- Multisig contract must be assert-callable before registration completes
Suggested execution
- Fork the repo and create a branch
git checkout -b feat/multisig-administered-offerings
- Implement changes
- Add
register_offering_multisig(multisig: Address, ...)
- Sanity-call multisig
get_threshold() via cross-contract invoke to fail-fast
- Document indexer mapping
is_multisig_admin=true field on off_reg event
- Validate security and correctness assumptions
Test and commit
- Run tests
- Cover edge cases
- Multisig contract that does not implement get_threshold must fail registration cleanly
- Include test output and security notes
Example commit message
feat: add register_offering_multisig for jointly-administered offerings
Guidelines
- Minimum 95 percent test coverage
- Clear documentation
- Timeframe: 96 hours
Description
Co-administration today requires a wrapper multisig contract. Provide a first-class
register_offering_multisigentry that takes a multisig contract address and stores it as the canonical issuer principal, with documented expectations onrequire_authresolution against the multisig.Requirements and context
Revora-Contracts/src/lib.rs,Revora-Contracts/src/test_multisig_gas.rsSuggested execution
git checkout -b feat/multisig-administered-offeringsregister_offering_multisig(multisig: Address, ...)get_threshold()via cross-contract invoke to fail-fastis_multisig_admin=truefield onoff_regeventTest and commit
cargo test --allExample commit message
feat: add register_offering_multisig for jointly-administered offeringsGuidelines