7 stable releases
2.6.0 | Nov 8, 2024 |
---|---|
2.5.0 | Oct 31, 2024 |
2.4.2 | Jul 22, 2024 |
2.3.0 | Oct 18, 2023 |
2.2.0 | Jul 9, 2023 |
#5 in #staked
Used in 2 crates
(via dao-testing)
295KB
6.5K
SLoC
dao-voting-cw721-staked
This is a basic implementation of an NFT staking contract.
Staked tokens can be unbonded with a configurable unbonding period. Staked balances can be queried at any arbitrary height by external contracts. This contract implements the interface needed to be a DAO DAO voting module.
dao-voting-cw721-staked
can be used with an existing
NFT collection or to create a new
cw721
collection upon instantiation (with the DAO as admin and minter
).
To support Stargaze NFTs and other custom NFT contracts or setups with minters (such as the Stargaze Open Edition minter), this contract also supports a factory
pattern which takes a single WasmMsg::Execute
message that calls into a custom factory contract.
NOTE: when using the factory pattern, it is important to only use a trusted factory contract, as all validation happens in the factory contract.
Those implementing custom factory contracts MUST handle any validation that is to happen, and the custom WasmMsg::Execute
message MUST include NftFactoryCallback
data respectively.
The dao-test-custom-factory contract provides an example of how this can be done and is used for tests. It is NOT production ready, but meant to serve as an example for building factory contracts.
Dependencies
~10MB
~216K SLoC