Search Apps Documentation Source Content File Folder Download Copy Actions Download State String Boolean Number Struct Map Slice Pointer Function Closure Reference Nil Package Type Interface Unknown

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}