Closed JakeHartnell closed 8 months ago
Patch coverage: 55.09%
and project coverage change: -0.30%
:warning:
Comparison is base (
3518a28
) 96.65% compared to head (9b9df6a
) 96.35%. Report is 1 commits behind head on development.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:
Addresses a few of the remaining audit fixes, but more importantly solves a blocker for both Stargaze NFT DAOs as well as potentially future Token Factory DAOs. The Stargaze team requested that NFT creation honor would honor the fairburn mechanism.
This is made possible by the factory pattern: creating Token or NFT DAO tokens by calling into a factory contract that does validation as well as returning required information to implement the voting module.
For example, as a user I want to sell a collection on Stargaze and use that collection and the proceeds from it to create and fund a DAO (with the DAO as the creator of the collection).
This "factory pattern" feature is intended to work with minters such as Stargaze minters or the WIP Augmented Bonding Curve tokens (or potentially other tokens such as LP tokens) which require a more complicated setup process. For these types of projects, the token is created through another contract that manages its issuance, the factory pattern is designed to support this. Factory contracts MUST set
TokenFactoryCallback
orNftFactoryCallback
in the response.An important note on security: as validation SHOULD happen in the factory contracts, it's important to rely only trusted factory contracts.
Overview of changes:
ModuleInstantiateInfo
now takes afunds
argument so that factories that require funds (such as one using Stargaze fairburn) can be supported.dao-test-custom-factory
has been created for testing factory patterns as well as demonstrating how to build a custom factory.test-contracts
have been moved inside thecontracts/test
folder so they can be built with theworkspace-optimizer
dao-voting-cw721-staked
, and fix a bug whereby one could update the threshold to be greater than supply