vega-frontend-monorepo/apps/trading/components/rewards-container/Rewards.graphql
m.ray 78f5a9c520
feat(trading): activity streaks, reward hoarder bonus and active rewards (#5491)
Co-authored-by: candida-d <62548908+candida-d@users.noreply.github.com>
Co-authored-by: Matthew Russell <mattrussell36@gmail.com>
Co-authored-by: bwallacee <ben@vega.xyz>
2024-01-05 11:16:59 +00:00

183 lines
3.2 KiB
GraphQL

query RewardsPage($partyId: ID!) {
party(id: $partyId) {
id
vestingStats {
rewardBonusMultiplier
quantumBalance
epochSeq
}
activityStreak {
activeFor
isActive
inactiveFor
rewardDistributionMultiplier
rewardVestingMultiplier
epoch
tradedVolume
openVolume
}
vestingBalancesSummary {
epoch
vestingBalances {
asset {
id
symbol
decimals
quantum
}
balance
}
lockedBalances {
asset {
id
symbol
decimals
quantum
}
balance
untilEpoch
}
}
}
}
query ActiveRewards(
$isReward: Boolean
$partyId: ID
$direction: TransferDirection
$pagination: Pagination
) {
transfersConnection(
partyId: $partyId
isReward: $isReward
direction: $direction
pagination: $pagination
) {
edges {
node {
transfer {
amount
id
from
fromAccountType
to
toAccountType
asset {
id
symbol
decimals
name
quantum
status
}
reference
status
timestamp
kind {
... on RecurringTransfer {
startEpoch
endEpoch
dispatchStrategy {
dispatchMetric
dispatchMetricAssetId
marketIdsInScope
entityScope
individualScope
teamScope
nTopPerformers
stakingRequirement
notionalTimeWeightedAveragePositionRequirement
windowLength
lockPeriod
distributionStrategy
rankTable {
startRank
shareRatio
}
}
}
}
reason
}
fees {
transferId
amount
epoch
}
}
}
}
}
query RewardsHistory(
$partyId: ID!
$epochRewardSummariesPagination: Pagination
$partyRewardsPagination: Pagination
$fromEpoch: Int
$toEpoch: Int
) {
epochRewardSummaries(
filter: { fromEpoch: $fromEpoch, toEpoch: $toEpoch }
pagination: $epochRewardSummariesPagination
) {
edges {
node {
epoch
assetId
amount
rewardType
}
}
}
party(id: $partyId) {
id
rewardsConnection(
fromEpoch: $fromEpoch
toEpoch: $toEpoch
pagination: $partyRewardsPagination
) {
edges {
node {
amount
percentageOfTotal
receivedAt
rewardType
asset {
id
symbol
name
decimals
}
party {
id
}
epoch {
id
}
}
}
}
}
}
query RewardsEpoch {
epoch {
id
}
}
query MarketForRewards($marketId: ID!) {
market(id: $marketId) {
tradableInstrument {
instrument {
id
name
code
metadata {
tags
}
}
}
}
}