Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

init.gno

1.28 Kb · 57 lines
 1package launchpad
 2
 3import "gno.land/r/gnoswap/launchpad"
 4
 5func init(cur realm) {
 6	registerLaunchpadV1(cur)
 7}
 8
 9func registerLaunchpadV1(cur realm) {
10	launchpad.RegisterInitializer(cross(cur), func(_ int, rlm realm, launchpadStore launchpad.ILaunchpadStore) launchpad.ILaunchpad {
11		err := initStoreData(0, rlm, launchpadStore)
12		if err != nil {
13			panic(err)
14		}
15
16		return NewLaunchpadV1(launchpadStore)
17	})
18}
19
20func initStoreData(_ int, rlm realm, launchpadStore launchpad.ILaunchpadStore) error {
21	if !launchpadStore.HasProjectsKey() {
22		err := launchpadStore.SetProjects(0, rlm, launchpad.NewBPTreeN(16))
23		if err != nil {
24			return err
25		}
26	}
27
28	if !launchpadStore.HasProjectTierRewardManagersKey() {
29		err := launchpadStore.SetProjectTierRewardManagers(0, rlm, launchpad.NewBPTreeN(16))
30		if err != nil {
31			return err
32		}
33	}
34
35	if !launchpadStore.HasDepositCounterStoreKey() {
36		err := launchpadStore.SetDepositCounter(0, rlm, launchpad.NewCounter())
37		if err != nil {
38			return err
39		}
40	}
41
42	if !launchpadStore.HasDepositsKey() {
43		err := launchpadStore.SetDeposits(0, rlm, launchpad.NewBPTreeN(16))
44		if err != nil {
45			return err
46		}
47	}
48
49	if !launchpadStore.HasTotalGNSStakedAmountKey() {
50		err := launchpadStore.SetTotalGNSStakedAmount(0, rlm, 0)
51		if err != nil {
52			return err
53		}
54	}
55
56	return nil
57}