You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/spec/supply/01_concepts.md
+10-6
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,11 @@
2
2
3
3
## Supply
4
4
5
-
The `supply` module:
6
-
- passively tracks the total supply of coins within a chain,
7
-
- provides a pattern for modules to hold/interact with `Coins`, and
8
-
- introduces the invariant check to verify a chain's total supply.
5
+
The `supply` module:
6
+
7
+
- passively tracks the total supply of coins within a chain,
8
+
- provides a pattern for modules to hold/interact with `Coins`, and
9
+
- introduces the invariant check to verify a chain's total supply.
9
10
10
11
### Total Supply
11
12
@@ -32,11 +33,14 @@ The `ModuleAccount` interface is defined as follows:
32
33
typeModuleAccountinterface {
33
34
auth.Account// same methods as the Account interface
34
35
GetName() string// name of the module; used to obtain the address
35
-
GetPermissions() []string// permissions of module account
36
-
HasPermission(string) bool
36
+
GetPermissions() []string// permissions of module account
37
+
HasPermission(string) bool
37
38
}
38
39
```
39
40
41
+
> **WARNING!**
42
+
Any module or message handler that allows either direct or indirect sending of funds must explicitly guarantee those funds cannot be sent to module accounts (unless allowed).
43
+
40
44
The supply `Keeper` also introduces new wrapper functions for the auth `Keeper`
41
45
and the bank `Keeper` that are related to `ModuleAccount`s in order to be able
0 commit comments