diff --git a/subgraphs/berachain/CHANGELOG.md b/subgraphs/berachain/CHANGELOG.md index 815edc8e..edc44f44 100644 --- a/subgraphs/berachain/CHANGELOG.md +++ b/subgraphs/berachain/CHANGELOG.md @@ -1,5 +1,9 @@ # Berachain Subgraph Changelog +## 1.1.4 (2025-02-20) + +- Adds support for Beradrome Kodiak OHM-HONEY Reward Vault v2 + ## 1.1.3 (2025-02-18) - Adds support for indexing native BERA diff --git a/subgraphs/berachain/config.json b/subgraphs/berachain/config.json index 7735d0e0..bebaf928 100644 --- a/subgraphs/berachain/config.json +++ b/subgraphs/berachain/config.json @@ -1,6 +1,6 @@ { - "id": "QmTSzHGjMz5XtHwgtM4HtmQnwXg4ZTGRzJq5xgdwn4waLn", + "id": "QmWkca2atv4YwqUaEJcowWSmAXsvxNieKqXNwtFoVGdX7A", "org": "olympusdao", "name": "protocol-metrics-berachain", - "version": "1.1.3" + "version": "1.1.4" } diff --git a/subgraphs/berachain/src/contracts/Constants.ts b/subgraphs/berachain/src/contracts/Constants.ts index 568b259c..eea0c6cf 100644 --- a/subgraphs/berachain/src/contracts/Constants.ts +++ b/subgraphs/berachain/src/contracts/Constants.ts @@ -1,7 +1,6 @@ import { Address,log } from "@graphprotocol/graph-ts"; import { TokenCategoryPOL, TokenCategoryStable, TokenCategoryVolatile, TokenDefinition } from "../../../shared/src/contracts/TokenDefinition"; -import { PriceHandlerKodiakIsland } from "../price/PriceHandlerKodiakIsland"; export const BLOCKCHAIN = "Berachain"; @@ -39,7 +38,8 @@ export const INFRARED_CUSTODIAN = "0xb65e74f6b2c0633e30ba1be75db818bb9522a81a".t // Kodiak export const UNISWAP_V3_POSITION_MANAGER = "0xFE5E8C83FFE4d9627A75EaA7Fee864768dB989bD".toLowerCase(); -export const BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT = "0x017B4DD27782E2FE3421e71F33ce54801aF696F8".toLowerCase(); +export const BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V1 = "0x017B4DD27782E2FE3421e71F33ce54801aF696F8".toLowerCase(); +export const BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V2 = "0x8e5b2DF607B43C8D0F28035210D4e1aD1E72b8ed".toLowerCase(); export const PROTOCOL_ADDRESSES = [ DAO_MULTISIG, @@ -90,19 +90,21 @@ export const getWalletAddressesForContract = (contractAddress: string): string[] }; export const CONTRACT_NAME_MAP = new Map(); +CONTRACT_NAME_MAP.set(BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V1, "Beradrome Kodiak OHM-HONEY Reward Vault V1"); +CONTRACT_NAME_MAP.set(BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V2, "Beradrome Kodiak OHM-HONEY Reward Vault V2"); CONTRACT_NAME_MAP.set(DAO_MULTISIG, "DAO MS (Berachain)"); CONTRACT_NAME_MAP.set(DAO_OPS_MULTISIG, "DAO Operations MS (Berachain)"); -CONTRACT_NAME_MAP.set(ERC20_OHM, "OHM"); +CONTRACT_NAME_MAP.set(ERC20_HONEY, "Honey"); CONTRACT_NAME_MAP.set(ERC20_IBERA, "Infrared BERA"); +CONTRACT_NAME_MAP.set(ERC20_OHM, "OHM"); CONTRACT_NAME_MAP.set(ERC20_STARGATE_USDC, "Bridged USDC (Stargate)"); -CONTRACT_NAME_MAP.set(ERC20_HONEY, "Honey"); CONTRACT_NAME_MAP.set(ERC20_WBERA, "Wrapped BERA"); -CONTRACT_NAME_MAP.set(NATIVE_BERA, "BERA"); -CONTRACT_NAME_MAP.set(LP_KODIAK_OHM_HONEY, "Kodiak OHM-HONEY LP"); +CONTRACT_NAME_MAP.set(INFRARED_CUSTODIAN, "Infrared Custodian"); CONTRACT_NAME_MAP.set(LP_BERADROME_KODIAK_OHM_HONEY, "Beradrome Kodiak OHM-HONEY LP"); -CONTRACT_NAME_MAP.set(TRSRY, "TRSRY Module"); +CONTRACT_NAME_MAP.set(LP_KODIAK_OHM_HONEY, "Kodiak OHM-HONEY LP"); +CONTRACT_NAME_MAP.set(NATIVE_BERA, "BERA"); CONTRACT_NAME_MAP.set(THJ_CUSTODIAN, "THJ Custodian"); -CONTRACT_NAME_MAP.set(INFRARED_CUSTODIAN, "Infrared Custodian"); +CONTRACT_NAME_MAP.set(TRSRY, "TRSRY Module"); export const CONTRACT_ABBREVIATION_MAP = new Map(); CONTRACT_ABBREVIATION_MAP.set(ERC20_IBERA, "iBERA"); diff --git a/subgraphs/berachain/src/contracts/LiquidityConstants.ts b/subgraphs/berachain/src/contracts/LiquidityConstants.ts index c552c9a9..46c6092d 100644 --- a/subgraphs/berachain/src/contracts/LiquidityConstants.ts +++ b/subgraphs/berachain/src/contracts/LiquidityConstants.ts @@ -2,24 +2,24 @@ import { PriceHandler } from "../../../shared/src/price/PriceHandler"; import { PriceHandlerRemapping } from "../../../shared/src/price/PriceHandlerRemapping"; import { PriceHandlerUniswapV3Quoter } from "../../../shared/src/price/PriceHandlerUniswapV3Quoter"; import { PriceHandlerKodiakIsland } from "../price/PriceHandlerKodiakIsland"; -import { BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT, ERC20_HONEY, ERC20_IBERA, ERC20_OHM, ERC20_WBERA, LP_BERADROME_KODIAK_OHM_HONEY, LP_KODIAK_IBERA_WBERA, LP_KODIAK_OHM_HONEY, LP_UNISWAP_V3_WBERA_HONEY, NATIVE_BERA } from "./Constants"; +import { BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V1, BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V2, ERC20_HONEY, ERC20_IBERA, ERC20_OHM, ERC20_WBERA, LP_BERADROME_KODIAK_OHM_HONEY, LP_KODIAK_IBERA_WBERA, LP_KODIAK_OHM_HONEY, LP_UNISWAP_V3_WBERA_HONEY, NATIVE_BERA } from "./Constants"; import { getContractName } from "./Contracts"; - const KODIAK_QUOTER = "0x644C8D6E501f7C994B74F5ceA96abe65d0BA662B".toLowerCase(); // Owned liquidity const kodiakOhmHoney = new PriceHandlerKodiakIsland([ERC20_HONEY, ERC20_OHM], KODIAK_QUOTER, LP_KODIAK_OHM_HONEY, null, null, getContractName); -const beradromeKodiakOhmHoney = new PriceHandlerKodiakIsland([ERC20_HONEY, ERC20_OHM], KODIAK_QUOTER, LP_KODIAK_OHM_HONEY, BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT, LP_BERADROME_KODIAK_OHM_HONEY, getContractName); - -export const OWNED_LIQUIDITY_HANDLERS = [kodiakOhmHoney, beradromeKodiakOhmHoney]; +const beradromeKodiakOhmHoneyV1 = new PriceHandlerKodiakIsland([ERC20_HONEY, ERC20_OHM], KODIAK_QUOTER, LP_KODIAK_OHM_HONEY, BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V1, LP_BERADROME_KODIAK_OHM_HONEY, getContractName); +const beradromeKodiakOhmHoneyV2 = new PriceHandlerKodiakIsland([ERC20_HONEY, ERC20_OHM], KODIAK_QUOTER, LP_KODIAK_OHM_HONEY, BERADROME_KODIAK_OHM_HONEY_REWARD_VAULT_V2, LP_BERADROME_KODIAK_OHM_HONEY, getContractName); +export const OWNED_LIQUIDITY_HANDLERS = [kodiakOhmHoney, beradromeKodiakOhmHoneyV1, beradromeKodiakOhmHoneyV2]; // Price handlers // Price lookup is enabled for these tokens export const PRICE_HANDLERS: PriceHandler[] = [ new PriceHandlerUniswapV3Quoter([ERC20_HONEY, ERC20_WBERA], KODIAK_QUOTER, LP_UNISWAP_V3_WBERA_HONEY, getContractName), kodiakOhmHoney, - beradromeKodiakOhmHoney, + beradromeKodiakOhmHoneyV1, + beradromeKodiakOhmHoneyV2, new PriceHandlerUniswapV3Quoter([ERC20_IBERA, ERC20_WBERA], KODIAK_QUOTER, LP_KODIAK_IBERA_WBERA, getContractName), new PriceHandlerRemapping(NATIVE_BERA, ERC20_WBERA, getContractName), ]; diff --git a/subgraphs/shared/tests/price/PriceHandlerUniswapV2.test.ts b/subgraphs/shared/tests/price/PriceHandlerUniswapV2.test.ts index 33bff591..28738cf7 100644 --- a/subgraphs/shared/tests/price/PriceHandlerUniswapV2.test.ts +++ b/subgraphs/shared/tests/price/PriceHandlerUniswapV2.test.ts @@ -2,6 +2,7 @@ import { Address, BigDecimal, BigInt, ethereum, log } from "@graphprotocol/graph import { assert, beforeEach, clearStore, createMockedFunction, describe, test } from "matchstick-as/assembly/index"; import { CIRCULATING_SUPPLY_WALLETS, getWalletAddressesForContract } from "../../../arbitrum/src/contracts/Constants"; +import { mockZeroWalletBalances } from "../../../ethereum/tests/walletHelper"; import { ContractNameLookup } from "../../src/contracts/ContractLookup"; import { PriceLookup, PriceLookupResult } from "../../src/price/PriceHandler"; import { PriceHandlerUniswapV2 } from "../../src/price/PriceHandlerUniswapV2"; @@ -9,7 +10,6 @@ import { toDecimal } from "../../src/utils/Decimals"; import { addressesEqual } from "../../src/utils/StringHelper"; import { CROSS_CHAIN_ARBITRUM } from "../../src/Wallets"; import { mockERC20Balance, mockERC20Balances } from "../ERC20Helper"; -import { mockZeroWalletBalances } from "../../../ethereum/tests/walletHelper"; const mockUniswapV2Pair = ( token0Address: string,