47 releases (6 stable)
2.0.0 | Mar 15, 2024 |
---|---|
1.1.2 | Nov 23, 2023 |
1.1.0 | Jun 19, 2023 |
1.0.1 | Dec 19, 2022 |
0.4.0 | Dec 22, 2020 |
#6 in #controllers
12,423 downloads per month
Used in 123 crates
(57 directly)
95KB
2K
SLoC
CW Controllers: Common controllers for many contracts
This is a collection of "controllers" that we end up reimplementing in
many contracts. I use the word "controller" similar to the MVC framework
style, where it is an element that encapsulated business logic and data access.
We can also directly handle some ExecuteMsg
and QueryMsg
variants by
adding a sub-router to these controllers.
This is the beginning of an experiment in code composition, and how best to
reuse code among multiple contracts. We have already seen some "extend" and
existing base contract (like cw20-staking
extends cw20-base
), but this
goes for smaller scale units.
Supported controllers:
- Admin (
UpdateAdmin
handler,Admin
querier, set_admin and is_admin methods)
lib.rs
:
This is a collection of "controllers" that we end up reimplementing in
many contracts. I use the word "controller" similar to the MVC framework
style, where it is an element that encapsulated business logic and data access.
We can also directly handle some ExecuteMsg
and QueryMsg
variants by
adding a sub-router to these controllers.
This is the beginning of an experiment in code composition, and how best to
reuse code among multiple contracts. We have already seen some "extend" and
existing base contract (like cw20-staking
extends cw20-base
), but this
goes for smaller scale units.
Supported controllers:
- Admin (
UpdateAdmin
handler,Admin
querier, set_admin and is_admin methods)
Dependencies
~4–7.5MB
~150K SLoC