-
Notifications
You must be signed in to change notification settings - Fork 0
/
keys.go
49 lines (38 loc) · 1.37 KB
/
keys.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package types
import (
"strings"
)
const (
// ModuleName defines the module name
ModuleName = "tokenfactory"
// StoreKey defines the primary module store key
StoreKey = ModuleName
// RouterKey is the message route for slashing
RouterKey = ModuleName
// QuerierRoute defines the module's query routing key
QuerierRoute = ModuleName
// MemStoreKey defines the in-memory store key
MemStoreKey = "mem_tokenfactory"
)
// KeySeparator is used to combine parts of the keys in the store
const KeySeparator = "|"
var (
DenomAuthorityMetadataKey = "authoritymetadata"
DenomsPrefixKey = "denoms"
CreatorPrefixKey = "creator"
AdminPrefixKey = "admin"
)
// GetDenomPrefixStore returns the store prefix where all the data associated with a specific denom
// is stored
func GetDenomPrefixStore(denom string) []byte {
return []byte(strings.Join([]string{DenomsPrefixKey, denom, ""}, KeySeparator))
}
// GetCreatorsPrefix returns the store prefix where the list of the denoms created by a specific
// creator are stored
func GetCreatorPrefix(creator string) []byte {
return []byte(strings.Join([]string{CreatorPrefixKey, creator, ""}, KeySeparator))
}
// GetCreatorsPrefix returns the store prefix where a list of all creator addresses are stored
func GetCreatorsPrefix() []byte {
return []byte(strings.Join([]string{CreatorPrefixKey, ""}, KeySeparator))
}