123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521 |
- import {GenericEventData} from "@polkadot/types/generic/Event";
- import { ApiPromise } from '@polkadot/api'
- import { MemberId } from '@joystream/types/members'
- import {
- ProposalParameters,
- ProposalStatus,
- VotingResults,
- } from '@joystream/types/proposals'
- import { AccountId, Nominations } from '@polkadot/types/interfaces'
- import { Option } from '@polkadot/types/codec'
- import { StorageKey } from '@polkadot/types/primitive'
- export class Statistics {
- councilRound: number = 0;
- councilMembers: number = 0;
- electionApplicants: number = 0;
- electionAvgApplicants: number = 0;
- perElectionApplicants: number = 0;
- electionApplicantsStakes: number = 0;
- electionVotes: number = 0;
- avgVotePerApplicant: number = 0;
- dateStart: string = "";
- dateEnd: string = "";
- startBlock: number = 0;
- endBlock: number = 0;
- percNewBlocks: number = 0;
- startMembers: number = 0;
- endMembers: number = 0;
- newMembers: number = 0;
- percNewMembers: number = 0;
- newBlocks: number = 0;
- avgBlockProduction: number = 0;
- startThreads: number = 0;
- endThreads: number = 0;
- newThreads: number = 0;
- totalThreads: number = 0;
- percNewThreads: number = 0;
- startPosts: number = 0;
- // endPosts: number = 0;
- newPosts: number = 0;
- endPosts: number = 0;
- percNewPosts: number = 0;
- startCategories: number = 0;
- endCategories: number = 0;
- newCategories: number = 0;
- perNewCategories: number = 0;
- newProposals: number = 0;
- newApprovedProposals: number = 0;
- startChannels: number = 0;
- newChannels: number = 0;
- endChannels: number = 0;
- percNewChannels: number = 0;
- startMedia: number = 0;
- newMedia: number = 0;
- endMedia: number = 0;
- percNewMedia: number = 0;
- deletedMedia: number = 0;
- newMints: number = 0;
- startMinted: number = 0;
- totalMinted: number = 0;
- percMinted: number = 0;
- endMinted: number = 0;
- totalMintCapacityIncrease: number = 0;
- startCouncilMinted: number = 0;
- endCouncilMinted: number = 0;
- newCouncilMinted: number = 0;
- percNewCouncilMinted: number = 0;
- startCuratorMinted: number = 0;
- endCuratorMinted: number = 0;
- newCuratorMinted: number = 0;
- percCuratorMinted: number = 0;
- startStorageMinted: number = 0;
- endStorageMinted: number = 0;
- newStorageMinted: number = 0;
- percStorageMinted: number = 0;
- startIssuance: number = 0;
- endIssuance: number = 0;
- newIssuance: number = 0;
- percNewIssuance: number = 0;
- newTokensBurn: number = 0;
- newValidatorRewards: number = 0;
- avgValidators: number = 0;
- startValidators: string = "";
- endValidators: string = "";
- percValidators: number = 0;
- startValidatorsStake: number = 0;
- endValidatorsStake: number = 0;
- percNewValidatorsStake: number = 0;
- startStorageProviders: number = 0;
- endStorageProviders: number = 0;
- percNewStorageProviders: number = 0;
- newStorageProviderReward: number = 0;
- startStorageProvidersStake: number = 0;
- endStorageProvidersStake: number = 0;
- percNewStorageProviderStake: number = 0;
- newCouncilRewards: number = 0;
- startCurators: number = 0;
- endCurators: number = 0;
- percNewCurators: number = 0;
- newCuratorRewards: number = 0;
- startUsedSpace: number = 0;
- newUsedSpace: number = 0;
- endUsedSpace: number = 0;
- percNewUsedSpace: number = 0;
- avgNewSizePerContent: number = 0;
- totalAvgSizePerContent: number = 0;
- percAvgSizePerContent: number = 0;
- newStakes: number = 0;
- totalNewStakeValue: number = 0;
- newTextProposals: number = 0;
- newRuntimeUpgradeProposal: number = 0;
- newSetElectionParametersProposal: number = 0;
- spendingProposalsTotal: number = 0;
- bountiesTotalPaid: number = 0;
- newSetLeadProposal: number = 0;
- newSetContentWorkingGroupMintCapacityProposal: number = 0;
- newEvictStorageProviderProposal: number = 0;
- newSetValidatorCountProposal: number = 0;
- newSetStorageRoleParametersProposal: number = 0;
- storageProviders: string;
- curators: string;
- constructor() {
- }
- }
- export class ValidatorReward {
- sharedReward: number = 0;
- remainingReward: number = 0;
- validators: number = 0;
- slotStake: number = 0;
- blockNumber: number = 0;
- }
- export class WorkersInfo {
- rewards: number = 0;
- startStake: number = 0;
- endStake: number = 0;
- startNrOfWorkers: number = 0;
- endNrOfWorkers: number = 0;
- }
- export class Exchange {
- sender: string = "";
- amount: number = 0;
- fees: number = 0;
- blockNumber: number = 0;
- }
- export enum ProposalTypes {
- Text = "Text",
- RuntimeUpgrade = "RuntimeUpgrade",
- SetElectionParameters = "SetElectionParameters",
- Spending = "Spending",
- SetLead = "SetLead",
- SetContentWorkingGroupMintCapacity = "SetContentWorkingGroupMintCapacity",
- EvictStorageProvider = "EvictStorageProvider",
- SetValidatorCount = "SetValidatorCount",
- SetStorageRoleParameters = "SetStorageRoleParameters",
- }
- export class SpendingProposals {
- constructor(public id: number, public spentAmount: number) {
- }
- }
- export class MintStatistics {
- startMinted: number;
- endMinted: number;
- diffMinted: number;
- percMinted: number;
- constructor(startMinted: number = 0, endMinted: number = 0, diffMinted: number = 0, percMinted: number = 0) {
- this.startMinted = startMinted;
- this.endMinted = endMinted;
- this.diffMinted = diffMinted;
- this.percMinted = percMinted;
- }
- }
- export class Media {
- constructor(public id: number, public title: string) {
- }
- }
- export class Channel {
- constructor(public id: number, public title: string) {
- }
- }
- export class Bounty {
- constructor(public proposalId: number, public title: string, public status: string, public amountAsked: number, public amountMinted: number) {
- }
- }
- export class CacheEvent {
- constructor(public section: string, public method: string, public data: GenericEventData) {
- }
- }
- export interface Api {
- query: any
- rpc: any
- derive: any
- }
- export interface Block {
- height: number
- blockHash: string
- }
- export interface Category {
- }
- export interface Member {
- }
- export interface Thread {
- }
- export interface Post {
- }
- export interface IState {
- //gethandle: (account: AccountId | string) => string;
- connecting: boolean
- now: number
- block: number
- blocks: Block[]
- nominators: string[]
- validators: string[]
- stashes: string[]
- loading: boolean
- councils: Seat[][]
- councilElection?: { stage: any; round: number; termEndsAt: number }
- channels: Channel[]
- categories: Category[]
- proposals: ProposalDetail[]
- posts: Post[]
- threads: Thread[]
- domain: string
- proposalCount: number
- proposalPosts: any[]
- handles: Handles
- members: Member[]
- tokenomics?: Tokenomics
- reports: { [key: string]: string }
- [key: string]: any
- stars: { [key: string]: boolean }
- stakes?: { [key: string]: Stakes }
- rewardPoints?: RewardPoints
- lastReward: number
- }
- export interface RewardPoints {
- total: number
- individual: { [account: string]: number }
- }
- export interface Stake {
- who: string
- value: number
- }
- export interface Stakes {
- total: number
- own: number
- others: Stake[]
- commission: number
- }
- export interface Seat {
- member: string
- handle?: string
- id?: number
- stake: number
- backers: Backer[]
- }
- export interface Backer {
- member: string
- stake: number
- }
- export interface CouncilType {
- round: number
- last: string
- }
- export interface CouncilModel {}
- export interface Options {
- verbose: number
- channel: boolean
- council: boolean
- forum: boolean
- proposals: boolean
- }
- export interface ProposalDetail {
- createdAt: number
- finalizedAt: number
- message: string
- parameters: string
- stage: any
- result: string
- exec: any
- id: number
- title: string
- description: any
- votes: VotingResults
- type: string
- votesByAccount?: Vote[]
- author?: string
- authorId: number
- }
- export interface Vote {
- vote: string
- handle: string
- }
- export type ProposalArray = number[]
- export interface ProposalPost {
- threadId: number
- text: string
- id: number
- }
- export interface Proposals {
- current: number
- last: number
- active: ProposalArray
- executing: ProposalArray
- }
- export interface ChannelType {
- id: number
- handle: string
- title: string
- description: string
- avatar: string
- banner: string
- content: string
- ownerId: number
- accountId: string
- publicationStatus: boolean
- curation: string
- createdAt: string
- principal: number
- }
- export interface CategoryType {
- id: number
- threadId: number
- title: string
- description: string
- createdAt: number
- deleted: boolean
- archived: boolean
- subcategories: number
- unmoderatedThreads: number
- moderatedThreads: number
- position: number
- moderatorId: string
- }
- export interface PostType {
- id: number
- text: string
- threadId: number
- authorId: string
- createdAt: { block: number; time: number }
- }
- export interface ThreadType {
- id: number
- title: string
- categoryId: number
- nrInCategory: number
- moderation: string
- createdAt: string
- authorId: string
- }
- export interface MemberType {
- account: string
- handle: string
- id: number
- registeredAt: number
- about: string
- addPost: any
- }
- export interface Header {
- number: number
- timestamp: number
- author: string
- }
- export interface Summary {
- blocks: Block[]
- validators: number[]
- nominators: number[]
- }
- export type NominatorsEntries = [StorageKey, Option<Nominations>][]
- export interface ProviderStatus {
- [propName: string]: boolean
- }
- export interface Handles {
- [key: string]: string
- }
- export interface Tokenomics {
- price: string
- totalIssuance: string
- validators: { total_stake: string }
- burns: Burn[]
- exchanges: Exchange[]
- extecutedBurnsAmount: number
- }
- export interface Burn {
- amount: number
- blockHeight: number
- date: string // "2020-09-21T11:07:54.000Z"
- logTime: string //"2020-09-21T11:08:54.091Z"
- }
- export interface Exchange {
- amount: number
- amountUSD: number
- blockHeight: number
- date: string // "2020-09-21T11:07:48.000Z"
- logTime: string // "2020-09-21T11:08:48.552Z"
- price: number // 0.000053676219442924057
- recipient: string //"5D5PhZQNJzcJXVBxwJxZcsutjKPqUPydrvpu6HeiBfMaeKQu"
- sender: string // "5DACzSg65taZ2NRktUtzBjhLZr8H5T8rwNoZUng9gQV6ayqT"
- senderMemo: string //"4Testing1337SendToBurnerAddressHopingItWorksOfc5D5PhZQNJzcJXVBxwJxZcsutjKPqUPydrvpu6HeiBfMaeKQu"
- status: string // FINALIZED | PENDING
- xmrAddress: string //"No address found"
- }
- export interface Event {
- text: string
- date: number
- category: {
- tag: string
- color: string
- }
- link: {
- url: string
- text: string
- }
- }
- export interface CalendarItem {
- id: number
- group: number
- title: string
- start_time: number
- end_time: number
- }
- export interface CalendarGroup {
- id: number
- title: string
- }
- export interface Status {
- block: number
- era: number
- round: number
- members: number
- channels: number
- categories: number
- threads: number
- posts: number
- proposals: number
- proposalPosts: number
- }
|