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
4 changes: 4 additions & 0 deletions subgraphs/berachain/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -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
Expand Down
4 changes: 2 additions & 2 deletions subgraphs/berachain/config.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"id": "QmTSzHGjMz5XtHwgtM4HtmQnwXg4ZTGRzJq5xgdwn4waLn",
"id": "QmWkca2atv4YwqUaEJcowWSmAXsvxNieKqXNwtFoVGdX7A",
"org": "olympusdao",
"name": "protocol-metrics-berachain",
"version": "1.1.3"
"version": "1.1.4"
}
18 changes: 10 additions & 8 deletions subgraphs/berachain/src/contracts/Constants.ts
Original file line number Diff line number Diff line change
@@ -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";

Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -90,19 +90,21 @@ export const getWalletAddressesForContract = (contractAddress: string): string[]
};

export const CONTRACT_NAME_MAP = new Map<string, string>();
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<string, string>();
CONTRACT_ABBREVIATION_MAP.set(ERC20_IBERA, "iBERA");
Expand Down
12 changes: 6 additions & 6 deletions subgraphs/berachain/src/contracts/LiquidityConstants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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),
];
2 changes: 1 addition & 1 deletion subgraphs/shared/tests/price/PriceHandlerUniswapV2.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ 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";
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,
Expand Down
Loading