Skip to content

Commit aab107f

Browse files
committed
use @originprotocol/squid-utils
1 parent 72812a4 commit aab107f

File tree

127 files changed

+402
-1084
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

127 files changed

+402
-1084
lines changed

package-lock.json

+272-77
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
"log:processing-times": "ts-node --require tsconfig-paths/register scripts/check-processing-times.ts"
2424
},
2525
"dependencies": {
26-
"@subsquid/evm-processor": "^1.26.1",
26+
"@originprotocol/squid-utils": "github:OriginProtocol/squid-utils",
27+
"@subsquid/evm-processor": "^1.27.0",
2728
"@subsquid/graphql-server": "^4.9.0",
2829
"@subsquid/typeorm-migration": "^1.3.0",
2930
"@subsquid/typeorm-store": "^1.5.1",
@@ -42,7 +43,7 @@
4243
"type-graphql": "^1.2.0-rc.1",
4344
"typeorm": "^0.3.16",
4445
"uuid": "^9.0.0",
45-
"viem": "^1.21.4"
46+
"viem": "^2.22.12"
4647
},
4748
"devDependencies": {
4849
"@subsquid/evm-typegen": "^4.3.0",

src/base/aerodrome.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import * as aerodromeGaugeAbi from '@abi/aerodrome-gauge'
33
import * as aerodromePoolFactoryAbi from '@abi/aerodrome-pool-factory'
44
import * as aerodromeVoterAbi from '@abi/aerodrome-voter'
55
import { AeroCLPoolCreated, AeroGaugeNotifyReward, AeroPoolCreated, AeroVoterGaugeCreated } from '@model'
6-
import { Processor } from '@processor'
6+
import { Processor } from '@originprotocol/squid-utils'
77
import { aerodromeCLGauge } from '@templates/aerodrome/cl-gauge'
88
import { aerodromeCLPool } from '@templates/aerodrome/cl-pool'
99
import { aerodromeGauge } from '@templates/aerodrome/gauge'

src/base/bridged-woeth-strategy.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import * as bridgedWOETHStrategyABI from '@abi/strategy-bridged-woeth'
22
import { EventWOETHPriceUpdated } from '@model'
3-
import { Context } from '@processor'
3+
import { Context, logFilter } from '@originprotocol/squid-utils'
44
import { EvmBatchProcessor } from '@subsquid/evm-processor'
55
import { baseAddresses } from '@utils/addresses-base'
6-
import { logFilter } from '@utils/logFilter'
76

87
const filter = logFilter({
98
address: [baseAddresses.superOETHb.strategies.bridgedWOETH],

src/base/exchange-rates.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Context } from '@processor'
1+
import { Context } from '@originprotocol/squid-utils'
22
import { ensureExchangeRates } from '@shared/post-processors/exchange-rates'
33
import { EvmBatchProcessor } from '@subsquid/evm-processor'
44

src/base/strategies.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { defineProcessor } from '@processor'
1+
import { defineProcessor } from '@originprotocol/squid-utils'
22
import { IStrategyData, createStrategyProcessor, createStrategySetup } from '@templates/strategy'
33
import { createStrategyRewardProcessor, createStrategyRewardSetup } from '@templates/strategy-rewards'
44
import { baseAddresses } from '@utils/addresses-base'

src/base/validate.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
StrategyBalance,
99
StrategyDailyYield,
1010
} from '@model'
11-
import { Context } from '@processor'
11+
import { Context } from '@originprotocol/squid-utils'
1212
import { entities } from '@validation/entities'
1313
import { validateBlocks } from '@validation/validate'
1414

src/main-arbitrum.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'tsconfig-paths/register'
22
import { arbitrum } from 'viem/chains'
33

4-
import { defineSquidProcessor, run } from '@processor'
4+
import { defineSquidProcessor, run } from '@originprotocol/squid-utils'
55
import { processStatus } from '@templates/processor-status/processor-status'
66

77
import { arbitrumERC20s } from './arbitrum'

src/main-base.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import 'tsconfig-paths/register'
22
import { base } from 'viem/chains'
33

4-
import { defineSquidProcessor, run } from '@processor'
4+
import { defineSquidProcessor, run } from '@originprotocol/squid-utils'
55
import * as exchangeRatesPostProcessor from '@shared/post-processors/exchange-rates'
66
import { processStatus } from '@templates/processor-status'
77

src/main-mainnet.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { originArmProcessors } from 'mainnet/processors/origin-arm'
33
import { protocolProcessor } from 'mainnet/processors/protocol'
44
import 'tsconfig-paths/register'
55

6-
import { defineSquidProcessor, run } from '@processor'
6+
import { defineSquidProcessor, run } from '@originprotocol/squid-utils'
77
import * as exchangeRates from '@shared/post-processors/exchange-rates'
88
import { createESTracker } from '@templates/exponential-staking'
99
import { createFRRSProcessor } from '@templates/fixed-rate-rewards-source'

src/main-oeth.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'tsconfig-paths/register'
22

3-
import { defineSquidProcessor, run } from '@processor'
3+
import { defineSquidProcessor, run } from '@originprotocol/squid-utils'
44
import * as exchangeRatesPostProcessor from '@shared/post-processors/exchange-rates'
55
import { processStatus } from '@templates/processor-status'
66
import { addresses } from '@utils/addresses'

src/main-ogv.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'tsconfig-paths/register'
22

3-
import { defineSquidProcessor, run } from '@processor'
3+
import { defineSquidProcessor, run } from '@originprotocol/squid-utils'
44
import { processStatus } from '@templates/processor-status'
55

66
import * as dailyStats from './ogv/post-processors/daily-stats'

src/main-ousd.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'tsconfig-paths/register'
22

3-
import { defineSquidProcessor, run } from '@processor'
3+
import { defineSquidProcessor, run } from '@originprotocol/squid-utils'
44
import * as exchangeRatesPostProcessor from '@shared/post-processors/exchange-rates'
55
import { processStatus } from '@templates/processor-status'
66

src/main-sonic.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
import { OS } from 'sonic/os'
22
import { sonicStrategies } from 'sonic/strategies'
33
import 'tsconfig-paths/register'
4+
import { sonic } from 'viem/chains'
45

5-
import { defineSquidProcessor, run } from '@processor'
6+
import { defineSquidProcessor, run } from '@originprotocol/squid-utils'
67
import * as exchangeRatesPostProcessor from '@shared/post-processors/exchange-rates'
78
import { processStatus } from '@templates/processor-status'
8-
import { sonic } from '@utils/chains'
99

1010
import * as validate from './sonic/validate'
1111

src/main-test.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { formatUnits } from 'viem'
33

44
import * as aerodromeLPSugarAbi from '@abi/aerodrome-lp-sugar-v3'
55
import * as mixedQuoterAbi from '@abi/aerodrome-mixed-quoter.extended'
6-
import { Context, run } from '@processor'
6+
import { Context, run } from '@originprotocol/squid-utils'
77
import { ensureExchangeRate } from '@shared/post-processors/exchange-rates'
88
import { CurrencySymbol } from '@shared/post-processors/exchange-rates/mainnetCurrencies'
99
import { priceMap } from '@shared/post-processors/exchange-rates/price-routing-mainnet'

src/main.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import 'tsconfig-paths/register'
22

3-
import { run } from '@processor'
3+
import { run } from '@originprotocol/squid-utils'
44

55
import arbitrum from './main-arbitrum'
66
import base from './main-base'

src/mainnet/post-processors/ogn-daily-stats.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { FindOptionsOrderValue, LessThanOrEqual, MoreThanOrEqual } from 'typeorm
44
import { formatEther } from 'viem'
55

66
import { ERC20Balance, ERC20Holder, ERC20State, OGNDailyStat } from '@model'
7-
import { Context } from '@processor'
7+
import { Context } from '@originprotocol/squid-utils'
88
import { EvmBatchProcessor } from '@subsquid/evm-processor'
99
import { getCoingeckoData } from '@utils/coingecko2'
1010

src/mainnet/processors/balancer/balancer.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Context } from '@processor'
1+
import { Context } from '@originprotocol/squid-utils'
22
import { MainnetCurrencyAddress } from '@shared/post-processors/exchange-rates/mainnetCurrencies'
33
import { EvmBatchProcessor } from '@subsquid/evm-processor'
44
import { createBalancerInitializer, createBalancerProcessor, createBalancerSetup } from '@templates/balancer'

src/mainnet/processors/coingecko.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { CoinGeckoCoinData } from '@model'
2-
import { defineProcessor } from '@processor'
2+
import { defineProcessor } from '@originprotocol/squid-utils'
33
import { CoingeckoDataOutput } from '@utils/coingecko'
44
import { getCoingeckoData } from '@utils/coingecko2'
55

src/mainnet/processors/curve/curve.ts

+3-8
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,14 @@
1-
import { Context } from '@processor'
1+
import { Context } from '@originprotocol/squid-utils'
22
import { EvmBatchProcessor } from '@subsquid/evm-processor'
3-
import {
4-
createCurveInitializer,
5-
createCurveProcessor,
6-
createCurveSetup,
7-
} from '@templates/curve'
3+
import { createCurveInitializer, createCurveProcessor, createCurveSetup } from '@templates/curve'
84
import { tokens } from '@utils/addresses'
95

106
const ousdResetFrom = 11585978
117
const oethDeployFrom = 16933090
128

139
export const from = Math.min(ousdResetFrom, oethDeployFrom)
1410

15-
const pools: (Parameters<typeof createCurveInitializer>['0'] &
16-
Parameters<typeof createCurveProcessor>['0'])[] = [
11+
const pools: (Parameters<typeof createCurveInitializer>['0'] & Parameters<typeof createCurveProcessor>['0'])[] = [
1712
// Curve (OETH)
1813
{
1914
name: 'factory-v2-298: ETH/OETH',

src/mainnet/processors/exchange-rates.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { Context } from '@processor'
1+
import { Context, blockFrequencyUpdater } from '@originprotocol/squid-utils'
22
import { ensureExchangeRates } from '@shared/post-processors/exchange-rates'
33
import { EvmBatchProcessor } from '@subsquid/evm-processor'
4-
import { blockFrequencyUpdater } from '@utils/blockFrequencyUpdater'
54

65
export const from = 13000000
76

src/mainnet/processors/legacy-staking.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as legacyStakingAbi from '@abi/legacy-staking'
22
import { LegacyStaker } from '@model'
3-
import { Context } from '@processor'
3+
import { Context } from '@originprotocol/squid-utils'
44
import { EvmBatchProcessor } from '@subsquid/evm-processor'
55
import { LEGACY_OGN_STAKING } from '@utils/addresses'
66

src/mainnet/processors/native-staking.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import * as beaconAbi from '@abi/beacon-deposit-contract'
22
import { BeaconDepositEvent, BeaconDepositPubkey } from '@model'
3-
import { Block, Context } from '@processor'
3+
import { Block, Context, logFilter, readLinesFromUrlInBatches } from '@originprotocol/squid-utils'
44
import { EvmBatchProcessor } from '@subsquid/evm-processor'
55
import { OETH_NATIVE_STRATEGIES } from '@utils/addresses'
6-
import { logFilter } from '@utils/logFilter'
7-
import { readLinesFromUrlInBatches } from '@utils/readLinesFromUrlInBatches'
86

97
export const from = 20029793 // Dump contains pubkeys up until 20029793.
108

src/mainnet/processors/native.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
import { minBy } from 'lodash'
22

33
import { NativeBalance } from '@model'
4-
import { Context, defineProcessor } from '@processor'
4+
import { Context, blockFrequencyUpdater, defineProcessor, getNativeBalances } from '@originprotocol/squid-utils'
55
import { EvmBatchProcessor } from '@subsquid/evm-processor'
66
import { OETH_VAULT_ADDRESS, OUSD_VAULT_ADDRESS, oethStrategyArray, ousdStrategyArray } from '@utils/addresses'
7-
import { blockFrequencyUpdater } from '@utils/blockFrequencyUpdater'
8-
import { getNativeBalances } from '@utils/nativeBalance'
97

108
/**
119
* We end up with a lot of initial 0 balance entities.

src/mainnet/processors/protocol/protocol.ts

+7-3
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,16 @@ import {
1010
ProtocolDailyStatDetail,
1111
StrategyBalance,
1212
} from '@model'
13-
import { Context, defineProcessor } from '@processor'
13+
import {
14+
Context,
15+
defineProcessor,
16+
getDateForTimestamp,
17+
getDatesBetween,
18+
sumBigIntBy,
19+
} from '@originprotocol/squid-utils'
1420
import { getLatestExchangeRateForDate } from '@shared/post-processors/exchange-rates/exchange-rates'
1521
import { OETH_ADDRESS, OUSD_ADDRESS, arm } from '@utils/addresses'
1622
import { baseAddresses } from '@utils/addresses-base'
17-
import { getDateForTimestamp, getDatesBetween } from '@utils/dates'
18-
import { sumBigIntBy } from '@utils/math'
1923

2024
const startDate = '2022-01-01'
2125

src/mainnet/validators/validate-mainnet.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
OGNDailyStat,
88
TransactionDetails,
99
} from '@model'
10-
import { Context } from '@processor'
10+
import { Context } from '@originprotocol/squid-utils'
1111
import { entities } from '@validation/entities'
1212
import { validateBlocks } from '@validation/validate'
1313

src/oeth/processors/ccip.ts

+1-3
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,9 @@ import * as ccipOnRampAbi from '@abi/ccip-evm2evmonramp'
33
import * as ccipRouter from '@abi/ccip-router'
44
import * as erc20Abi from '@abi/erc20'
55
import { BridgeTransfer, BridgeTransferState } from '@model'
6-
import { Block, Context, Log } from '@processor'
6+
import { Block, Context, Log, logFilter, publishProcessorState } from '@originprotocol/squid-utils'
77
import { EvmBatchProcessor } from '@subsquid/evm-processor'
88
import { WOETH_ADDRESS, WOETH_ARBITRUM_ADDRESS } from '@utils/addresses'
9-
import { logFilter } from '@utils/logFilter'
10-
import { publishProcessorState } from '@utils/state'
119
import { traceFilter } from '@utils/traceFilter'
1210

1311
// Code Reference: https://github.com/smartcontractkit/smart-contract-examples/tree/main/ccip-offchain

src/oeth/processors/exchange-rates.ts

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
1-
import { Context } from '@processor'
1+
import { Context, blockFrequencyUpdater } from '@originprotocol/squid-utils'
22
import { ensureExchangeRates } from '@shared/post-processors/exchange-rates'
33
import { EvmBatchProcessor } from '@subsquid/evm-processor'
4-
import { blockFrequencyUpdater } from '@utils/blockFrequencyUpdater'
54

65
export const from = 16933090 // OETH Deploy
76

src/oeth/processors/oeth.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { mainnet } from 'viem/chains'
33

44
import * as baseRewardPool from '@abi/base-reward-pool'
55
import * as erc20 from '@abi/erc20'
6-
import { Context } from '@processor'
6+
import { Context } from '@originprotocol/squid-utils'
77
import { EvmBatchProcessor } from '@subsquid/evm-processor'
88
import { createOTokenProcessor } from '@templates/otoken'
99
import { createOTokenActivityProcessor } from '@templates/otoken/activity-processor/activity-processor'

src/oeth/processors/strategies.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as feeAccumulatorAbi from '@abi/fee-accumulator'
22
import * as nativeStakingAbi from '@abi/strategy-native-staking'
33
import { AccountingConsensusRewards, ExecutionRewardsCollected } from '@model'
4-
import { Context } from '@processor'
4+
import { Context } from '@originprotocol/squid-utils'
55
import { mainnetCurrencies } from '@shared/post-processors/exchange-rates/mainnetCurrencies'
66
import { EvmBatchProcessor } from '@subsquid/evm-processor'
77
import { createEventProcessor } from '@templates/events/createEventProcessor'

src/oeth/validators/validate-oeth/validate-oeth.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
StrategyBalance,
88
StrategyDailyYield,
99
} from '@model'
10-
import { Context } from '@processor'
10+
import { Context } from '@originprotocol/squid-utils'
1111
import { entities } from '@validation/entities'
1212
import { validateBlocks } from '@validation/validate'
1313

src/ogv/post-processors/daily-stats.ts

+5-16
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,9 @@
11
import dayjs from 'dayjs'
22
import utc from 'dayjs/plugin/utc'
3-
import {
4-
FindOptionsOrderValue,
5-
LessThanOrEqual,
6-
MoreThanOrEqual,
7-
} from 'typeorm'
3+
import { FindOptionsOrderValue, LessThanOrEqual, MoreThanOrEqual } from 'typeorm'
84

95
import { OGV, OGVAddress, OGVDailyStat } from '@model'
10-
import { Context } from '@processor'
6+
import { Context } from '@originprotocol/squid-utils'
117
import { EvmBatchProcessor } from '@subsquid/evm-processor'
128
import { applyCoingeckoData } from '@utils/coingecko'
139

@@ -20,8 +16,7 @@ export const setup = async (processor: EvmBatchProcessor) => {
2016
}
2117

2218
export const process = async (ctx: Context) => {
23-
const firstBlockTimestamp = ctx.blocks.find((b) => b.header.height >= from)
24-
?.header.timestamp
19+
const firstBlockTimestamp = ctx.blocks.find((b) => b.header.height >= from)?.header.timestamp
2520
if (!firstBlockTimestamp) return
2621

2722
const firstBlock = ctx.blocks[0]
@@ -30,11 +25,7 @@ export const process = async (ctx: Context) => {
3025
const endDate = dayjs.utc(lastBlock.header.timestamp).endOf('day')
3126

3227
let dates: Date[] = []
33-
for (
34-
let date = startDate;
35-
!date.isAfter(endDate);
36-
date = date.add(1, 'day').endOf('day')
37-
) {
28+
for (let date = startDate; !date.isAfter(endDate); date = date.add(1, 'day').endOf('day')) {
3829
dates.push(date.toDate())
3930
}
4031

@@ -55,9 +46,7 @@ export const process = async (ctx: Context) => {
5546
})) as OGVDailyStat[]
5647

5748
const existingIds = dailyStats.map((stat) => stat.id)
58-
dailyStats.push(
59-
...updatedStats.filter((stat) => existingIds.indexOf(stat.id) < 0),
60-
)
49+
dailyStats.push(...updatedStats.filter((stat) => existingIds.indexOf(stat.id) < 0))
6150
}
6251

6352
await ctx.store.upsert(dailyStats)

src/ogv/post-processors/governance.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import {
88
OGVProposalVote,
99
OGVVoteType,
1010
} from '@model'
11-
import { Block, Context, Log } from '@processor'
11+
import { Block, Context, Log } from '@originprotocol/squid-utils'
1212
import { EvmBatchProcessor } from '@subsquid/evm-processor'
1313
import { OGV_GOVERNANCE_ADDRESS } from '@utils/addresses'
1414
import { env } from '@utils/env'

src/ogv/processors/ogv-supply.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import * as erc20Abi from '@abi/erc20'
22
import { OGV } from '@model'
3-
import { Context } from '@processor'
3+
import { Context } from '@originprotocol/squid-utils'
44
import { EvmBatchProcessor } from '@subsquid/evm-processor'
55
import { OGV_ADDRESS, VEOGV_ADDRESS } from '@utils/addresses'
66

src/ogv/processors/ogv.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import * as erc20Abi from '@abi/erc20'
22
import * as veogvAbi from '@abi/veogv'
33
import { OGVAddress, OGVLockup, OGVLockupEventType, OGVLockupTxLog } from '@model'
4-
import { Block, Context, Log } from '@processor'
4+
import { Block, Context, Log } from '@originprotocol/squid-utils'
55
import { EvmBatchProcessor } from '@subsquid/evm-processor'
66
import { ADDRESS_ZERO, OGV_ADDRESS, VEOGV_ADDRESS } from '@utils/addresses'
77

0 commit comments

Comments
 (0)