Search Apps Documentation Source Content File Folder Download Copy Actions Download

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}