Search Apps Documentation Source Content File Folder Download Copy Actions Download

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}