Burger Shack staker

Curated by

BurgerCities

ID Type

EVM ADDRESS

Cred Type

GRAPHQL

Last Update Time

07/09/2023, 18:01:25

Query

query burger($address: String!){
  user(id: $address) {
    id
    farmRewardCount
    userFarmPools {
      pool {
        id
        token
        ageRequiredAmount
      }
      amount
      age
      updatedAt
    }
  }
}

Expression

function(data) {
  if (data.user == null) {
    return 0
  }
  let pools = data.user.userFarmPools
  if (pools == null || pools.length == 0) {
      return 0
  }
  
  let claimCount = data.user.farmRewardCount
  let now = Math.floor(Date.now())
  for (let i = 0; i < pools.length; i++) {
      let info = pools[i]
      let age = Number.parseFloat(info.age)
      let requiredAmount = Number.parseFloat(info.pool.ageRequiredAmount)
      let amount = Number.parseFloat(info.amount)
      let updatedAt = Number.parseFloat(info.updatedAt)
      let ratio = 0
      if (info.amount >= requiredAmount) {
        ratio = 1
      }
      let nowAge = age + ratio * (now - updatedAt)
      if (nowAge > 864000) {
          claimCount = claimCount + 1
      }
  }
  return claimCount
}