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

init.gno

1.44 Kb · 64 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.HasProjectRecipientsKey() {
29		err := launchpadStore.SetProjectRecipients(0, rlm, launchpad.NewBPTreeN(16))
30		if err != nil {
31			return err
32		}
33	}
34
35	if !launchpadStore.HasProjectTierRewardManagersKey() {
36		err := launchpadStore.SetProjectTierRewardManagers(0, rlm, launchpad.NewBPTreeN(16))
37		if err != nil {
38			return err
39		}
40	}
41
42	if !launchpadStore.HasDepositCounterStoreKey() {
43		err := launchpadStore.SetDepositCounter(0, rlm, launchpad.NewCounter())
44		if err != nil {
45			return err
46		}
47	}
48
49	if !launchpadStore.HasDepositsKey() {
50		err := launchpadStore.SetDeposits(0, rlm, launchpad.NewBPTreeN(16))
51		if err != nil {
52			return err
53		}
54	}
55
56	if !launchpadStore.HasTotalGNSStakedAmountKey() {
57		err := launchpadStore.SetTotalGNSStakedAmount(0, rlm, 0)
58		if err != nil {
59			return err
60		}
61	}
62
63	return nil
64}