types.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import { AccountId, AccountData } from "@polkadot/types/interfaces";
  2. import { GenericEventData } from "@polkadot/types/generic/Event";
  3. import { MemberId } from "@joystream/types/members";
  4. import { Stake } from "@joystream/types/stake";
  5. import { RewardRelationship } from "@joystream/types/recurring-rewards";
  6. import { VotingResults } from "@joystream/types/augment/all";
  7. export interface AccountBalance {
  8. accountId: string;
  9. balance: AccountData;
  10. }
  11. export interface ElectionInfo {
  12. durations: number[];
  13. stage: any;
  14. round: number;
  15. stageEndsAt: number;
  16. termEndsAt: number;
  17. }
  18. export interface Vote {
  19. vote: string;
  20. handle: string;
  21. }
  22. export interface ProposalDetail {
  23. created: number;
  24. finalizedAt: number;
  25. message: string;
  26. parameters: string;
  27. stage: any;
  28. result: string;
  29. exec: any;
  30. id: number;
  31. title: string;
  32. description: any;
  33. votes: VotingResults;
  34. type: string;
  35. votesByAccount?: Vote[];
  36. author?: string;
  37. authorId: number;
  38. }
  39. export interface SpendingProposal {
  40. id: number;
  41. title: string;
  42. amount: number;
  43. }
  44. export interface Round {
  45. round: number;
  46. start: number;
  47. end: number;
  48. }
  49. export class Bounty {
  50. constructor(
  51. public testnet: string,
  52. public proposalId: number,
  53. public title: string,
  54. public status: string,
  55. public amountAsked: number,
  56. public amountMinted: number
  57. ) {}
  58. }
  59. export class CacheEvent {
  60. constructor(
  61. public section: string,
  62. public method: string,
  63. public data: GenericEventData
  64. ) {}
  65. }
  66. export interface WorkerReward {
  67. id: number;
  68. memberId: MemberId;
  69. account: AccountId;
  70. handle: string;
  71. stake: Stake;
  72. reward: RewardRelationship;
  73. status: string;
  74. }
  75. // status endpoint at https://status.joystream.org/status
  76. export interface StatusData {
  77. burns: Burn[];
  78. dollarPoolChanges: DollarPoolChange[];
  79. exchanges: Exchange[];
  80. extecutedBurnsAmount: number;
  81. price: string;
  82. totalIssuance: string;
  83. validators: { total_stake: string };
  84. }
  85. export interface DollarPoolChange {
  86. blockHeight: number;
  87. blockTime: string;
  88. change: number;
  89. reason: string;
  90. issuance: number;
  91. valueAfter: number;
  92. rateAfter: number;
  93. }
  94. export interface Burn {
  95. amount: number;
  96. blockHeight: number;
  97. date: string;
  98. logTime: string;
  99. }
  100. export interface Exchange {
  101. amount: number;
  102. amountUSD: number;
  103. blockHeight: number;
  104. date: string;
  105. logTime: string;
  106. price: number;
  107. recipient: string;
  108. sender: string;
  109. senderMemo: string;
  110. status: string;
  111. xmrAddress: string;
  112. }