getter_utils.gno
0.97 Kb · 58 lines
1package staker
2
3func cloneStringSlice(src []string) []string {
4 if src == nil {
5 return nil
6 }
7 copied := make([]string, len(src))
8 copy(copied, src)
9 return copied
10}
11
12func cloneStringInt64Map(src map[string]int64) map[string]int64 {
13 if src == nil {
14 return nil
15 }
16
17 copied := make(map[string]int64, len(src))
18 for key, value := range src {
19 copied[key] = value
20 }
21 return copied
22}
23
24func cloneStringBoolMap(src map[string]bool) map[string]bool {
25 if src == nil {
26 return nil
27 }
28
29 copied := make(map[string]bool, len(src))
30 for key, value := range src {
31 copied[key] = value
32 }
33
34 return copied
35}
36
37func cloneExternalIncentives(src []ExternalIncentive) []ExternalIncentive {
38 if src == nil {
39 return nil
40 }
41
42 copied := make([]ExternalIncentive, len(src))
43 for i := range src {
44 copied[i] = *src[i].Clone()
45 }
46
47 return copied
48}
49
50func cloneWarmups(warmups []Warmup) []Warmup {
51 if warmups == nil {
52 return nil
53 }
54
55 copied := make([]Warmup, len(warmups))
56 copy(copied, warmups)
57 return copied
58}