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.
 
 
 
 

123 lines
3.5 KiB

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