The frontend for the project formerly known as signet, now known as beignet.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.
 
 
 
 

131 строка
3.8 KiB

  1. import SignetRequestController from '@/api/requests';
  2. import {
  3. AuthenticationRequest,
  4. Bonus,
  5. CloseRewardFundRequest,
  6. ContributeRequest,
  7. CreateQueueRequest,
  8. CreateQueueResponse,
  9. CreateRewardFundRequest,
  10. DistributeRewardsRequest,
  11. EditQueueRequest,
  12. GetBalanceRequest,
  13. GetBalanceResponse,
  14. GetContributionsRequest,
  15. GetContributionsResponse,
  16. GetQueueMembersRequest,
  17. GetQueueMembersResponse,
  18. GetQueuesResponse,
  19. GetRewardFundRequest,
  20. GetRewardFundResponse,
  21. GetRewardFundsRequest,
  22. GetRewardFundsResponse,
  23. LoginResponse,
  24. NearlyCompleteFundsRequest,
  25. NearlyCompleteFundsResponse,
  26. QueueMember,
  27. RewardDistributionInfo,
  28. SubmitRewardFundRequest,
  29. SuccessResponse,
  30. } from '@/api/types';
  31. const controller = new SignetRequestController();
  32. export const register = (username: string, password: string) => controller.post<SuccessResponse, AuthenticationRequest>('Register', {
  33. username,
  34. password,
  35. });
  36. export const login = (username: string, password: string) => controller.post<LoginResponse, AuthenticationRequest>('Login', {
  37. username,
  38. password,
  39. });
  40. export const getRewardFunds = (offset: number) => controller.post<GetRewardFundsResponse, GetRewardFundsRequest>('GetRewardFunds', { offset });
  41. export const getQueues = () => controller.post<GetQueuesResponse, null>('GetQueues', null);
  42. export const getQueueMembers = (id: number) => controller.post<GetQueueMembersResponse, GetQueueMembersRequest>('GetQueueMembers', { id });
  43. export const createQueue = (name: string) => controller.post<CreateQueueResponse, CreateQueueRequest>('CreateQueue', { name });
  44. export const createRewardFund = (
  45. asset: string,
  46. fundWallet: string,
  47. fundSecret: string,
  48. sellingWallet: string,
  49. issuerWallet: string,
  50. memo: string,
  51. minContribution: number,
  52. telegramLink: string,
  53. bonuses: Bonus[],
  54. queueID?: number | null | undefined,
  55. ) => controller.post<SuccessResponse, CreateRewardFundRequest>('CreateRewardFund', {
  56. asset,
  57. fundWallet,
  58. fundSecret,
  59. sellingWallet,
  60. issuerWallet,
  61. memo,
  62. minContribution,
  63. telegramLink,
  64. bonuses,
  65. queueID,
  66. });
  67. export const deleteRewardFund = (id: number, close: boolean) => controller.post<
  68. SuccessResponse, CloseRewardFundRequest
  69. >(
  70. 'CloseRewardFund',
  71. {
  72. id,
  73. close,
  74. },
  75. );
  76. export const getRewardFund = (id: number, consolidateContributions: boolean) => controller.post<GetRewardFundResponse, GetRewardFundRequest>('GetRewardFund', {
  77. id,
  78. consolidateContributions,
  79. });
  80. export const getContributions = (
  81. id: number,
  82. offset: number,
  83. forDate: string | undefined,
  84. consolidateContributions: boolean,
  85. ) => controller.post<GetContributionsResponse, GetContributionsRequest>(
  86. 'GetContributions',
  87. {
  88. id,
  89. offset,
  90. forDate,
  91. consolidateContributions,
  92. },
  93. );
  94. export const getBalance = (secretKey: string) => controller.post<GetBalanceResponse, GetBalanceRequest>('GetBalance', { secretKey });
  95. export const contribute = (privateKey: string, amount: number, rewardFund: number) => controller.post<SuccessResponse, ContributeRequest>('Contribute', {
  96. privateKey,
  97. amount,
  98. rewardFund,
  99. });
  100. export const getNearlyCompletedFunds = (threshold: number) => controller.post<NearlyCompleteFundsResponse, NearlyCompleteFundsRequest>('NearlyCompleteFunds', { threshold });
  101. export const reorderQueue = (queueID: number, fundOrders: QueueMember[]) => controller.post<SuccessResponse, EditQueueRequest>('EditQueue', {
  102. queueID,
  103. fundOrders,
  104. });
  105. export const submitRewardFund = (fundID: number, submit: boolean) => controller.post<SuccessResponse, SubmitRewardFundRequest>('SubmitRewardFund', {
  106. fundID,
  107. submit,
  108. });
  109. export const distributeRewardFund = (rewardFundID: number, payments: RewardDistributionInfo[], distribute: boolean) => controller.post<SuccessResponse, DistributeRewardsRequest>('DistributeRewardFund', {
  110. rewardFundID,
  111. payments,
  112. distribute,
  113. });