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