types.gno
4.80 Kb · 120 lines
1package launchpad
2
3import (
4 "gno.land/p/gnoswap/uint256"
5 bptree "gno.land/p/nt/bptree/v0"
6)
7
8type ILaunchpad interface {
9 ILaunchpadProject
10 ILaunchpadDeposit
11 ILaunchpadGetter
12}
13
14type ILaunchpadProject interface {
15 CreateProject(
16 _ int,
17 rlm realm,
18 name string,
19 tokenPath string,
20 recipient address,
21 depositAmount int64,
22 conditionTokens string,
23 conditionAmounts string,
24 tier30Ratio int64,
25 tier90Ratio int64,
26 tier180Ratio int64,
27 startTime int64,
28 ) string
29 TransferLeftFromProjectByAdmin(_ int, rlm realm, projectID string, recipient address) int64
30 CollectProtocolFee(_ int, rlm realm)
31 CollectEmissionReward(_ int, rlm realm)
32 CollectProtocolFeeReward(_ int, rlm realm, tokenPath string)
33}
34
35type ILaunchpadDeposit interface {
36 DepositGns(_ int, rlm realm, targetProjectTierID string, depositAmount int64, referrer string) string
37 CollectDepositGns(_ int, rlm realm, depositID string) (int64, error)
38 CollectRewardByDepositId(_ int, rlm realm, depositID string) int64
39}
40
41type ILaunchpadGetter interface {
42 GetProjectCount() int
43 GetProjectIDs(offset, count int) []string
44 GetProject(projectId string) (*Project, error)
45 GetProjectName(projectId string) (string, error)
46 GetProjectTokenPath(projectId string) (string, error)
47 GetProjectDepositAmount(projectId string) (int64, error)
48 GetProjectRecipient(projectId string) (address, error)
49 GetProjectCondition(projectId string, tokenPath string) (*ProjectCondition, error)
50 GetProjectTiersRatios(projectId string) (map[int64]int64, error)
51 GetProjectCreatedHeight(projectId string) (int64, error)
52 GetProjectCreatedAt(projectId string) (int64, error)
53
54 GetProjectTier(projectId string, tier int64) (*ProjectTier, error)
55 GetProjectTierDistributeAmountPerSecondX128(projectId string, tier int64) (*uint256.Uint, error)
56 GetProjectTierTotalDistributeAmount(projectId string, tier int64) (int64, error)
57 GetProjectTierTotalDepositAmount(projectId string, tier int64) (int64, error)
58 GetProjectTierTotalWithdrawAmount(projectId string, tier int64) (int64, error)
59 GetProjectTierTotalDepositCount(projectId string, tier int64) (int64, error)
60 GetProjectTierTotalWithdrawCount(projectId string, tier int64) (int64, error)
61 GetProjectTierTotalCollectedAmount(projectId string, tier int64) (int64, error)
62 GetProjectTierStartTime(projectId string, tier int64) (int64, error)
63 GetProjectTierEndTime(projectId string, tier int64) (int64, error)
64
65 GetDepositCount() int
66 GetCurrentDepositId() int64
67 GetProjectTierDepositCount(projectId string, tier int64) int
68 GetProjectTierDepositIDs(projectId string, tier int64, offset, count int) []string
69
70 GetDeposit(depositId string) (*Deposit, error)
71 GetDepositProjectID(depositId string) (string, error)
72 GetDepositTier(depositId string) (int64, error)
73 GetDepositProjectTierID(depositId string) (string, error)
74 GetDepositAmount(depositId string) (int64, error)
75 GetDepositWithdrawnHeight(depositId string) (int64, error)
76 GetDepositWithdrawnTime(depositId string) (int64, error)
77 GetDepositCreatedHeight(depositId string) (int64, error)
78 GetDepositCreatedAt(depositId string) (int64, error)
79 GetDepositEndTime(depositId string) (int64, error)
80 GetTotalGNSStakedAmount() int64
81
82 GetProjectTierRewardManagerCount() int
83 GetProjectTierRewardManager(projectTierId string) (*RewardManager, error)
84 GetProjectTierRewardDistributeAmountPerSecondX128(projectTierId string) (*uint256.Uint, error)
85 GetProjectTierRewardAccumulatedRewardPerDepositX128(projectTierId string) (*uint256.Uint, error)
86 GetProjectTierRewardTotalDistributeAmount(projectTierId string) (int64, error)
87 GetProjectTierRewardTotalClaimedAmount(projectTierId string) (int64, error)
88 GetProjectTierRewardDistributeStartTime(projectTierId string) (int64, error)
89 GetProjectTierRewardDistributeEndTime(projectTierId string) (int64, error)
90 GetProjectTierRewardAccumulatedDistributeAmount(projectTierId string) (int64, error)
91 GetProjectTierRewardAccumulatedTime(projectTierId string) (int64, error)
92 GetProjectTierRewardClaimableDuration(projectTierId string) (int64, error)
93
94 GetRewardState(projectTierId string, depositId string) (*RewardState, error)
95 GetProjectActiveStatus(projectId string) (bool, error)
96}
97
98type ILaunchpadStore interface {
99 HasProjectsKey() bool
100 GetProjects() *bptree.BPTree
101 SetProjects(_ int, rlm realm, projects *bptree.BPTree) error
102
103 HasProjectTierRewardManagersKey() bool
104 GetProjectTierRewardManagers() *bptree.BPTree
105 SetProjectTierRewardManagers(_ int, rlm realm, managers *bptree.BPTree) error
106
107 // DepositCounter
108 HasDepositCounterStoreKey() bool
109 GetDepositCounter() *Counter
110 SetDepositCounter(_ int, rlm realm, counter *Counter) error
111 NextDepositID() string
112
113 HasDepositsKey() bool
114 GetDeposits() *bptree.BPTree
115 SetDeposits(_ int, rlm realm, deposits *bptree.BPTree) error
116
117 HasTotalGNSStakedAmountKey() bool
118 GetTotalGNSStakedAmount() int64
119 SetTotalGNSStakedAmount(_ int, rlm realm, amount int64) error
120}