The frontend for the project formerly known as signet, now known as beignet.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

191 line
3.2 KiB

  1. // eslint-disable-next-line no-shadow
  2. export enum Privileges {
  3. None = -1,
  4. SuperUser,
  5. AdminPlus,
  6. Admin
  7. }
  8. export interface Contribution {
  9. createdAt: string;
  10. amount: number;
  11. rewardFundID: number;
  12. transactionID: string;
  13. wallet: string;
  14. }
  15. interface Contributions {
  16. list: Contribution[];
  17. dates: string[];
  18. total: number;
  19. }
  20. export interface RewardFund {
  21. id: number;
  22. asset: string;
  23. wallet: string;
  24. memo: string;
  25. amountGoal: number;
  26. minContribution: number;
  27. contributions: Contribution[] | null;
  28. telegramLink: string;
  29. }
  30. export interface Queue {
  31. id: number;
  32. name: string;
  33. }
  34. export interface QueueMember {
  35. id?: number;
  36. asset: string;
  37. order: number;
  38. }
  39. export interface CreateQueueRequest {
  40. name: string;
  41. }
  42. export interface CreateQueueResponse {
  43. id: number;
  44. }
  45. export interface GetQueuesResponse {
  46. queues: Queue[];
  47. }
  48. export interface SuccessResponse {
  49. success: boolean;
  50. }
  51. export interface GetRewardFundRequest {
  52. id: number;
  53. consolidateContributions: boolean;
  54. }
  55. export interface Bonus {
  56. goal?: number;
  57. percent?: number;
  58. }
  59. export interface CreateRewardFundRequest {
  60. asset: string;
  61. fundWallet: string;
  62. sellingWallet: string;
  63. issuerWallet: string;
  64. memo: string;
  65. minContribution: number;
  66. telegramLink: string;
  67. queueID?: number | null;
  68. bonuses: Bonus[];
  69. }
  70. export interface FundInfo {
  71. id: number;
  72. asset: string;
  73. fundWallet: string;
  74. sellingWallet: string;
  75. issuerWallet: string;
  76. memo: string;
  77. price: number;
  78. amountAvailable: number;
  79. amountGoal: number;
  80. minContribution: number;
  81. telegramLink: string;
  82. bonuses: Bonus[];
  83. queueID: number | null;
  84. }
  85. interface Total {
  86. amountHeld: number;
  87. }
  88. export interface GetRewardFundResponse {
  89. fundInfo: FundInfo;
  90. contributions: Contributions;
  91. total: Total;
  92. }
  93. export interface GetBalanceRequest {
  94. secretKey: string;
  95. }
  96. export interface GetBalanceResponse {
  97. balance: number;
  98. }
  99. export interface ContributeRequest {
  100. privateKey: string;
  101. amount: number;
  102. rewardFund: number;
  103. }
  104. export interface AuthenticationRequest {
  105. username: string;
  106. password: string;
  107. }
  108. export interface LoginResponse {
  109. token: string | null;
  110. }
  111. export interface GetQueueMembersRequest {
  112. id: number;
  113. }
  114. export interface GetQueueMembersResponse {
  115. members: RewardFund[];
  116. }
  117. export interface GetRewardFundsRequest {
  118. offset: number;
  119. }
  120. export interface GetRewardFundsResponse {
  121. rewardFunds: FundInfo[];
  122. total: number;
  123. }
  124. export interface Claims {
  125. username: string;
  126. privileges: Privileges;
  127. exp: number;
  128. }
  129. export interface NearlyCompletedFund {
  130. id: number;
  131. asset: string;
  132. minContribution: number;
  133. amountAvailable: number;
  134. memo: string;
  135. fundWallet: string;
  136. raised: number;
  137. }
  138. export interface NearlyCompleteFundsRequest {
  139. threshold: number;
  140. }
  141. export interface NearlyCompleteFundsResponse {
  142. funds: NearlyCompletedFund[];
  143. }
  144. export interface GetContributionsRequest {
  145. id: number;
  146. offset: number;
  147. forDate: string | undefined;
  148. consolidateContributions: boolean;
  149. }
  150. export type GetContributionsResponse = Contributions;
  151. export interface CloseRewardFundRequest {
  152. id: number;
  153. close: boolean;
  154. }
  155. export interface EditQueueRequest {
  156. queueID: number;
  157. fundOrders: QueueMember[];
  158. }