types.gno
4.54 Kb · 113 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}
32
33type ILaunchpadDeposit interface {
34 DepositGns(_ int, rlm realm, targetProjectTierID string, depositAmount int64, referrer string) string
35 CollectDepositGns(_ int, rlm realm, depositID string) (int64, error)
36 CollectRewardByDepositId(_ int, rlm realm, depositID string) int64
37}
38
39type ILaunchpadGetter interface {
40 GetProjectCount() int
41 GetProjectIDs(offset, count int) []string
42 GetProject(projectId string) (*Project, error)
43 GetProjectName(projectId string) (string, error)
44 GetProjectTokenPath(projectId string) (string, error)
45 GetProjectDepositAmount(projectId string) (int64, error)
46 GetProjectRecipient(projectId string) (address, error)
47 GetProjectCondition(projectId string, tokenPath string) (*ProjectCondition, error)
48 GetProjectTiersRatios(projectId string) (map[int64]int64, error)
49 GetProjectCreatedHeight(projectId string) (int64, error)
50 GetProjectCreatedAt(projectId string) (int64, error)
51
52 GetProjectTier(projectId string, tier int64) (*ProjectTier, error)
53 GetProjectTierDistributeAmountPerSecondX128(projectId string, tier int64) (*uint256.Uint, error)
54 GetProjectTierTotalDistributeAmount(projectId string, tier int64) (int64, error)
55 GetProjectTierTotalDepositAmount(projectId string, tier int64) (int64, error)
56 GetProjectTierTotalWithdrawAmount(projectId string, tier int64) (int64, error)
57 GetProjectTierTotalDepositCount(projectId string, tier int64) (int64, error)
58 GetProjectTierTotalWithdrawCount(projectId string, tier int64) (int64, error)
59 GetProjectTierTotalCollectedAmount(projectId string, tier int64) (int64, error)
60 GetProjectTierStartTime(projectId string, tier int64) (int64, error)
61 GetProjectTierEndTime(projectId string, tier int64) (int64, error)
62
63 GetDepositCount() int
64 GetCurrentDepositId() int64
65 GetProjectTierDepositCount(projectId string, tier int64) int
66 GetProjectTierDepositIDs(projectId string, tier int64, offset, count int) []string
67
68 GetDeposit(depositId string) (*Deposit, error)
69 GetDepositProjectID(depositId string) (string, error)
70 GetDepositTier(depositId string) (int64, error)
71 GetDepositProjectTierID(depositId string) (string, error)
72 GetDepositAmount(depositId string) (int64, error)
73 GetDepositWithdrawnHeight(depositId string) (int64, error)
74 GetDepositWithdrawnTime(depositId string) (int64, error)
75 GetDepositCreatedHeight(depositId string) (int64, error)
76 GetDepositCreatedAt(depositId string) (int64, error)
77 GetDepositEndTime(depositId string) (int64, error)
78
79 GetProjectTierRewardManagerCount() int
80 GetProjectTierRewardManager(projectTierId string) (*RewardManager, error)
81 GetProjectTierRewardDistributeAmountPerSecondX128(projectTierId string) (*uint256.Uint, error)
82 GetProjectTierRewardAccumulatedRewardPerDepositX128(projectTierId string) (*uint256.Uint, error)
83 GetProjectTierRewardTotalDistributeAmount(projectTierId string) (int64, error)
84 GetProjectTierRewardTotalClaimedAmount(projectTierId string) (int64, error)
85 GetProjectTierRewardDistributeStartTime(projectTierId string) (int64, error)
86 GetProjectTierRewardDistributeEndTime(projectTierId string) (int64, error)
87 GetProjectTierRewardAccumulatedDistributeAmount(projectTierId string) (int64, error)
88 GetProjectTierRewardAccumulatedTime(projectTierId string) (int64, error)
89 GetProjectTierRewardClaimableDuration(projectTierId string) (int64, error)
90
91 GetRewardState(projectTierId string, depositId string) (*RewardState, error)
92 GetProjectActiveStatus(projectId string) (bool, error)
93}
94
95type ILaunchpadStore interface {
96 HasProjectsKey() bool
97 GetProjects() *bptree.BPTree
98 SetProjects(_ int, rlm realm, projects *bptree.BPTree) error
99
100 HasProjectTierRewardManagersKey() bool
101 GetProjectTierRewardManagers() *bptree.BPTree
102 SetProjectTierRewardManagers(_ int, rlm realm, managers *bptree.BPTree) error
103
104 // DepositCounter
105 HasDepositCounterStoreKey() bool
106 GetDepositCounter() *Counter
107 SetDepositCounter(_ int, rlm realm, counter *Counter) error
108 NextDepositID() string
109
110 HasDepositsKey() bool
111 GetDeposits() *bptree.BPTree
112 SetDeposits(_ int, rlm realm, deposits *bptree.BPTree) error
113}