Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

1,267 changes: 634 additions & 633 deletions schema.graphql

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions scripts/generate-validations.ts
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ const oTokenDailyStats = (prefix: string, address: string) => {
fees
rateETH
rateUSD
rateNative
yield
marketCapUSD
accountsOverThreshold
Expand Down Expand Up @@ -281,6 +282,7 @@ const arm = (prefix: string, armAddress: string) => {
totalAssetsCap
totalSupply
yield
rateNative
}
`),
]
Expand Down
3 changes: 3 additions & 0 deletions src/model/generated/armDailyStat.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -88,4 +88,7 @@ export class ArmDailyStat {

@FloatColumn_({nullable: false})
rateETH!: number

@FloatColumn_({nullable: false})
rateNative!: number
}
108 changes: 54 additions & 54 deletions src/model/generated/index.ts
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

since your generation is diff from mine, how often do you update your sqd command?

Original file line number Diff line number Diff line change
@@ -1,36 +1,18 @@
export * from "./utilCache.model"
export * from "./exchangeRate.model"
export * from "./nativeBalance.model"
export * from "./legacyStaker.model"
export * from "./curvePool.model"
export * from "./curvePoolBalance.model"
export * from "./curvePoolRate.model"
export * from "./ognDailyStat.model"
export * from "./coinGeckoCoinData.model"
export * from "./protocolDailyStat.model"
export * from "./protocolDailyStatDetail.model"
export * from "./beaconDepositEvent.model"
export * from "./beaconDepositPubkey.model"
export * from "./accountingConsensusRewards.model"
export * from "./executionRewardsCollected.model"
export * from "./coinGeckoCoinData.model"
export * from "./ognBuyback.model"
export * from "./walletLabels.model"
export * from "./ognDailyStat.model"
export * from "./ogv.model"
export * from "./ogvAddress.model"
export * from "./ogvLockupTxLog.model"
export * from "./_ogvLockupEventType"
export * from "./ogvLockup.model"
export * from "./ogvProposalTxLog.model"
export * from "./_ogvProposalEvent"
export * from "./ogvProposal.model"
export * from "./_ogvProposalState"
export * from "./ogvProposalVote.model"
export * from "./_ogvVoteType"
export * from "./ogvDailyStat.model"
export * from "./transactionDetails.model"
export * from "./pool.model"
export * from "./poolBooster.model"
export * from "./poolBoosterBribeExecuted.model"
export * from "./curvePool.model"
export * from "./curvePoolBalance.model"
export * from "./curvePoolRate.model"
export * from "./ognBuyback.model"
export * from "./nativeBalance.model"
export * from "./legacyStaker.model"
export * from "./oToken.model"
export * from "./oTokenRawData.model"
export * from "./woToken.model"
Expand All @@ -51,43 +33,24 @@ export * from "./oTokenHarvesterYieldSent.model"
export * from "./oTokenRewardTokenCollected.model"
export * from "./oTokenWithdrawalRequest.model"
export * from "./oTokenYieldForwarded.model"
export * from "./poolBooster.model"
export * from "./poolBoosterBribeExecuted.model"
export * from "./transactionDetails.model"
export * from "./strategyBalance.model"
export * from "./strategyYield.model"
export * from "./strategyDailyYield.model"
export * from "./arm.model"
export * from "./armState.model"
export * from "./armDailyStat.model"
export * from "./armWithdrawalRequest.model"
export * from "./armSwap.model"
export * from "./traderateChanged.model"
export * from "./erc20.model"
export * from "./erc20Holder.model"
export * from "./erc20State.model"
export * from "./erc20StateByDay.model"
export * from "./erc20Balance.model"
export * from "./erc20Transfer.model"
export * from "./processingStatus.model"
export * from "./aeroClGaugeNotifyReward.model"
export * from "./aeroGaugeNotifyReward.model"
export * from "./aeroPoolCreated.model"
export * from "./aeroClPoolCreated.model"
export * from "./aeroVoterGaugeCreated.model"
export * from "./aeroPoolState.model"
export * from "./aeroClPoolState.model"
export * from "./aeroClPoolTick.model"
export * from "./aeroPoolEpochState.model"
export * from "./_tokenAmount"
export * from "./aeroLp.model"
export * from "./aeroLpPosition.model"
export * from "./governanceProposalEvent.model"
export * from "./_governanceProposalEventType"
export * from "./governanceProposal.model"
export * from "./_governanceProposalState"
export * from "./governanceProposalVote.model"
export * from "./_governanceVoteType"
export * from "./bridgeTransfer.model"
export * from "./bridgeTransferState.model"
export * from "./frrsRewardCollected.model"
export * from "./frrsRewardsPerSecondChanged.model"
export * from "./frrsRewardsTargetChange.model"
export * from "./frrsStrategistUpdated.model"
export * from "./esToken.model"
export * from "./esAccount.model"
export * from "./esYield.model"
Expand All @@ -101,9 +64,46 @@ export * from "./esPenalty.model"
export * from "./esReward.model"
export * from "./esStake.model"
export * from "./esUnstake.model"
export * from "./strategyBalance.model"
export * from "./strategyYield.model"
export * from "./strategyDailyYield.model"
export * from "./bridgeTransfer.model"
export * from "./bridgeTransferState.model"
export * from "./aeroPoolState.model"
export * from "./aeroClPoolState.model"
export * from "./aeroClPoolTick.model"
export * from "./aeroPoolEpochState.model"
export * from "./_tokenAmount"
export * from "./aeroLp.model"
export * from "./aeroLpPosition.model"
export * from "./aeroClGaugeNotifyReward.model"
export * from "./aeroGaugeNotifyReward.model"
export * from "./aeroPoolCreated.model"
export * from "./aeroClPoolCreated.model"
export * from "./aeroVoterGaugeCreated.model"
export * from "./frrsRewardCollected.model"
export * from "./frrsRewardsPerSecondChanged.model"
export * from "./frrsRewardsTargetChange.model"
export * from "./frrsStrategistUpdated.model"
export * from "./processingStatus.model"
export * from "./erc20.model"
export * from "./erc20Holder.model"
export * from "./erc20State.model"
export * from "./erc20StateByDay.model"
export * from "./erc20Balance.model"
export * from "./erc20Transfer.model"
export * from "./pool.model"
export * from "./sfcWithdrawal.model"
export * from "./morphoMarketState.model"
export * from "./eventWoethPriceUpdated.model"
export * from "./utilCache.model"
export * from "./exchangeRate.model"
export * from "./ogv.model"
export * from "./ogvAddress.model"
export * from "./ogvLockupTxLog.model"
export * from "./_ogvLockupEventType"
export * from "./ogvLockup.model"
export * from "./ogvProposalTxLog.model"
export * from "./_ogvProposalEvent"
export * from "./ogvProposal.model"
export * from "./_ogvProposalState"
export * from "./ogvProposalVote.model"
export * from "./_ogvVoteType"
export * from "./ogvDailyStat.model"
3 changes: 3 additions & 0 deletions src/model/generated/oTokenDailyStat.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ export class OTokenDailyStat {
@BigIntColumn_({nullable: false})
rateETH!: bigint

@BigIntColumn_({nullable: false})
rateNative!: bigint

@BigIntColumn_({nullable: false})
totalSupply!: bigint

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ const createChainlinkPriceFeed = (address: string, decimals: bigint) => {
const chainlinkPriceFeeds: Record<string, (ctx: Context, height: number) => Promise<bigint>> = {
ETH_USD: createChainlinkPriceFeed('0x71041dddad3595f9ced3dccfbe3d1f4b0a16bb70', 8n),
superOETHb_USD: createChainlinkPriceFeed('0x71041dddad3595f9ced3dccfbe3d1f4b0a16bb70', 8n),
superOETHb_ETH: createChainlinkPriceFeed('0x39C6E14CdE46D4FFD9F04Ff159e7ce8eC20E10B4', 18n),
AERO_USD: createChainlinkPriceFeed('0x4EC5970fC728C5f65ba413992CD5fF6FD70fcfF0', 8n),
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -309,4 +309,5 @@ export const priceMap: Partial<
...twoWay('CRV', 'ETH', (ctx, height) => getChainlinkPrice(ctx, height, 'CRV', 'ETH')),
...twoWay('CVX', 'ETH', (ctx, height) => getChainlinkPrice(ctx, height, 'CVX', 'ETH')),
...twoWay('CVX', 'USD', (ctx, height) => getChainlinkPrice(ctx, height, 'CVX', 'USD')),
...twoWay('CVX', 'DAI', (ctx, height) => getChainlinkPrice(ctx, height, 'CVX', 'USD')),
}
1 change: 1 addition & 0 deletions src/templates/origin-arm/origin-arm.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ type ArmDailyStat @entity {
cumulativeFees: BigInt!
rateUSD: Float!
rateETH: Float!
rateNative: Float!
}

type ArmWithdrawalRequest @entity {
Expand Down
4 changes: 3 additions & 1 deletion src/templates/origin-arm/origin-arm.ts
Original file line number Diff line number Diff line change
Expand Up @@ -351,11 +351,12 @@ export const createOriginARMProcessors = ({
for (const block of ctx.blocks) {
if (tracker(ctx, block) || (block.header.height > from && ctx.latestBlockOfDay(block))) {
// ArmState
const [state, yesterdayState, rateUSD, rateETH] = await Promise.all([
const [state, yesterdayState, rateUSD, rateETH, rateNative] = await Promise.all([
getCurrentState(block),
getYesterdayState(block),
ensureExchangeRate(ctx, block, underlyingToken, 'USD'),
ensureExchangeRate(ctx, block, underlyingToken, 'ETH'),
ensureExchangeRate(ctx, block, underlyingToken, ctx.chain.nativeCurrency.symbol as Currency),
])

// ArmDailyStat
Expand Down Expand Up @@ -402,6 +403,7 @@ export const createOriginARMProcessors = ({
cumulativeYield: state.totalYield,
rateUSD: +formatUnits(rateUSD?.rate ?? 0n, rateUSD?.decimals ?? 18),
rateETH: +formatUnits(rateETH?.rate ?? 0n, rateETH?.decimals ?? 18),
rateNative: +formatUnits(rateNative?.rate ?? 0n, rateNative?.decimals ?? 18),
})
dailyStatsMap.set(currentDayId, armDailyStatEntity)
}
Expand Down
9 changes: 7 additions & 2 deletions src/templates/otoken/otoken-daily-stats.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import * as wotokenAbi from '@abi/woeth'
import { OToken, OTokenAPY, OTokenDailyStat, OTokenRebase } from '@model'
import { Block, Context } from '@originprotocol/squid-utils'
import { ensureExchangeRate } from '@shared/post-processors/exchange-rates'
import { CurrencyAddress } from '@shared/post-processors/exchange-rates/mainnetCurrencies'
import { Currency, CurrencyAddress } from '@shared/post-processors/exchange-rates/mainnetCurrencies'

/**
* For sake of efficiency, we only want to update the daily stats if the block is within 20 seconds of the hourly crossover or if there has been recent activity on the OToken.
Expand Down Expand Up @@ -79,7 +79,7 @@ export const processOTokenDailyStats = async (
: null

const asyncStartTime = Date.now()
const [otokenObject, apy, rebases, rateETH, rateUSD, dripperWETH, amoSupply, wrappedSupply, wrappedRate] =
const [otokenObject, apy, rebases, rateETH, rateUSD, dripperWETH, amoSupply, wrappedSupply, wrappedRate, rateNative] =
await Promise.all([
(async () => {
let otokenObject = findLast(params.otokens, (o) => o.timestamp <= blockDate)
Expand Down Expand Up @@ -127,6 +127,9 @@ export const processOTokenDailyStats = async (
params.getAmoSupply(ctx, block.header.height),
wotokenContract ? wotokenContract.totalSupply() : 0n,
wotokenContract ? wotokenContract.previewRedeem(10n ** 18n) : 0n,
ensureExchangeRate(ctx, block, params.otokenAddress as CurrencyAddress, ctx.chain.nativeCurrency.symbol as Currency).then(
(a) => a?.rate ?? 0n,
),
])
if (process.env.DEBUG_PERF === 'true') {
ctx.log.info(`getOTokenDailyStat async calls took ${Date.now() - asyncStartTime}ms`)
Expand Down Expand Up @@ -175,6 +178,7 @@ export const processOTokenDailyStats = async (

entity.rateETH = rateETH
entity.rateUSD = rateUSD
entity.rateNative = rateNative
entity.amoSupply = amoSupply

entity.dripperWETH = dripperWETH
Expand Down Expand Up @@ -217,6 +221,7 @@ export const getOTokenDailyStat = async (

rateUSD: 0n,
rateETH: 0n,
rateNative: 0n,

totalSupply: 0n,
rebasingSupply: 0n,
Expand Down
1 change: 1 addition & 0 deletions src/templates/otoken/otoken.graphql
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,7 @@ type OTokenDailyStat @entity {

rateUSD: BigInt!
rateETH: BigInt!
rateNative: BigInt!

totalSupply: BigInt!
rebasingSupply: BigInt!
Expand Down