From 111eaa816bd12b3be3a3b27df0ab2f43b013af34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Terje=20S=C3=B8rensen?= Date: Thu, 16 Oct 2025 16:53:57 +0200 Subject: [PATCH 1/7] Added YieldBricks adapter --- projects/yieldbricks/index.js | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 projects/yieldbricks/index.js diff --git a/projects/yieldbricks/index.js b/projects/yieldbricks/index.js new file mode 100644 index 0000000000..058f4e565b --- /dev/null +++ b/projects/yieldbricks/index.js @@ -0,0 +1,33 @@ +const { sumTokensExport } = require('../helper/unwrapLPs') + +const TOKENS_YBR_ARBITRUM = [ + "0x11920f139a3121c2836e01551d43f95b3c31159c" +] + +const STAKING_POOLS = [ + "0x7436750e80bB956C6488A879D573cA417D6712A2", + "0x80EF7E080EfC299cd6a7Ed8341273d935252c896", +] + +module.exports = { + timetravel: false, + misrepresentedTokens: false, + methodology: ` + TVL counts YBR tokens staked by users in the YieldBricks staking pools on Arbitrum. + The staking section shows the same value but categorized separately. + USD value is derived from YBR market prices.`, + + arbitrum: { + staking: sumTokensExport({ + owners: STAKING_POOLS, + tokens: TOKENS_YBR_ARBITRUM, + chain: 'arbitrum' + }), + + tvl: sumTokensExport({ + owners: STAKING_POOLS, + tokens: TOKENS_YBR_ARBITRUM, + chain: 'arbitrum' + }), + }, +} \ No newline at end of file From 2de8dec8d2b63f810e889395a5aa6538487ba051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Terje=20S=C3=B8rensen?= Date: Fri, 17 Oct 2025 12:48:51 +0200 Subject: [PATCH 2/7] Update index.js --- projects/yieldbricks/index.js | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/projects/yieldbricks/index.js b/projects/yieldbricks/index.js index 058f4e565b..bcb96f4e00 100644 --- a/projects/yieldbricks/index.js +++ b/projects/yieldbricks/index.js @@ -23,11 +23,6 @@ module.exports = { tokens: TOKENS_YBR_ARBITRUM, chain: 'arbitrum' }), - - tvl: sumTokensExport({ - owners: STAKING_POOLS, - tokens: TOKENS_YBR_ARBITRUM, - chain: 'arbitrum' - }), + tvl: () => ({}), }, -} \ No newline at end of file +} From a0fbb9d5e2524267323bf7ecb4b4213c063e13d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Terje=20S=C3=B8rensen?= Date: Sat, 18 Oct 2025 09:02:12 +0200 Subject: [PATCH 3/7] Updated YieldBricks adapter to show stats more correctly --- projects/yieldbricks/index.js | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/projects/yieldbricks/index.js b/projects/yieldbricks/index.js index bcb96f4e00..1156d1ddb8 100644 --- a/projects/yieldbricks/index.js +++ b/projects/yieldbricks/index.js @@ -1,28 +1,32 @@ const { sumTokensExport } = require('../helper/unwrapLPs') +const { stakings } = require("../helper/staking"); -const TOKENS_YBR_ARBITRUM = [ - "0x11920f139a3121c2836e01551d43f95b3c31159c" -] +const ARB_CONTRACTS_YBR = ["0x11920f139a3121c2836e01551d43f95b3c31159c"] +const ARB_STAKING_POOLS = ["0x7436750e80bB956C6488A879D573cA417D6712A2", "0x80EF7E080EfC299cd6a7Ed8341273d935252c896"] -const STAKING_POOLS = [ - "0x7436750e80bB956C6488A879D573cA417D6712A2", - "0x80EF7E080EfC299cd6a7Ed8341273d935252c896", -] +const ARB_LP_CONTRACTS = ["0xb18e2e8B2f6C4f3f2e5afc1229d9d7654B0DdAA3"] +const ARB_LP_ADDRESSES = ["0x11920f139a3121c2836E01551D43F95B3c31159c", "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"] + +const ETH_LP_CONTRACTS = ["0xe81940eCdEFc9464082B51ACE7ADeD83a1dC1EFc"] +const ETH_LP_ADDRESSES = ["0x9d9535Dae62F5f12aB83F1183DCa1eAd244b0DB3", "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"] module.exports = { timetravel: false, misrepresentedTokens: false, methodology: ` - TVL counts YBR tokens staked by users in the YieldBricks staking pools on Arbitrum. - The staking section shows the same value but categorized separately. - USD value is derived from YBR market prices.`, - + TVL includes all YBR tokens locked in YieldBricks staking pools on Arbitrum. + Pool2 covers LP tokens staked in the YieldBricks LP contracts. + `, arbitrum: { - staking: sumTokensExport({ - owners: STAKING_POOLS, - tokens: TOKENS_YBR_ARBITRUM, + tvl: sumTokensExport({ + owners: ARB_STAKING_POOLS, + tokens: ARB_CONTRACTS_YBR, chain: 'arbitrum' }), - tvl: () => ({}), + pool2: stakings(ARB_LP_CONTRACTS, ARB_LP_ADDRESSES, 'arbitrum'), }, + ethereum: { + tvl: () => ({}), + pool2: stakings(ETH_LP_CONTRACTS, ETH_LP_ADDRESSES, 'ethereum'), + } } From 48b7c56a1aaf3939446d20d0c78196caf0cdda02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Terje=20S=C3=B8rensen?= Date: Mon, 20 Oct 2025 17:30:04 +0200 Subject: [PATCH 4/7] Updated YieldBricks adapter to show stats more correctly --- projects/helper/coreAssets.json | 6 +++-- projects/yieldbricks/index.js | 43 +++++++++++++++++++++------------ 2 files changed, 31 insertions(+), 18 deletions(-) diff --git a/projects/helper/coreAssets.json b/projects/helper/coreAssets.json index 187905d230..03a647769b 100644 --- a/projects/helper/coreAssets.json +++ b/projects/helper/coreAssets.json @@ -68,7 +68,8 @@ "BTCN": "0x386E7A3a0c0919c9d53c3b04FF67E73Ff9e45Fb6", "POL": "0x455e53cbb86018ac2b8092fdcd39d8444affc3f6", "WSOL": "0xD31a59c85aE9D8edEFeC411D448f90841571b89c", - "WAVES": "0x0Fb765ddBD4d26AC524AA5990B0643D0Ab6Ac2fE" + "WAVES": "0x0Fb765ddBD4d26AC524AA5990B0643D0Ab6Ac2fE", + "YBR": "0x9d9535Dae62F5f12aB83F1183DCa1eAd244b0DB3" }, "fantom": { "WFTM": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83", @@ -311,7 +312,8 @@ "sUSDe": "0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2", "ETHFI": "0x7189fb5B6504bbfF6a852B13B7B82a3c118fDc27", "weETH": "0x35751007a407ca6FEFfE80b3cB397736D2cf4dbe", - "GOVI": "0x07e49d5de43dda6162fa28d24d5935c151875283" + "GOVI": "0x07e49d5de43dda6162fa28d24d5935c151875283", + "YBR": "0x11920f139a3121c2836e01551d43f95b3c31159c" }, "fuse": { "WFUSE": "0x0be9e53fd7edac9f859882afdda116645287c629", diff --git a/projects/yieldbricks/index.js b/projects/yieldbricks/index.js index 1156d1ddb8..2fefdef3be 100644 --- a/projects/yieldbricks/index.js +++ b/projects/yieldbricks/index.js @@ -1,14 +1,27 @@ -const { sumTokensExport } = require('../helper/unwrapLPs') -const { stakings } = require("../helper/staking"); +const ADDRESSES = require('../helper/coreAssets.json') +const { pool2 } = require("../helper/pool2.js"); +const { stakings } = require('../helper/staking'); -const ARB_CONTRACTS_YBR = ["0x11920f139a3121c2836e01551d43f95b3c31159c"] -const ARB_STAKING_POOLS = ["0x7436750e80bB956C6488A879D573cA417D6712A2", "0x80EF7E080EfC299cd6a7Ed8341273d935252c896"] +const arbConfig = { + chain: 'arbitrum', + contracts: [ADDRESSES.arbitrum.YBR], + stakingContracts: ['0x7436750e80bB956C6488A879D573cA417D6712A2', '0x80EF7E080EfC299cd6a7Ed8341273d935252c896'], + lpContracts: ['0xb18e2e8B2f6C4f3f2e5afc1229d9d7654B0DdAA3'], + lpAddresses: [ADDRESSES.arbitrum.YBR, ADDRESSES.arbitrum.USDT] +}; -const ARB_LP_CONTRACTS = ["0xb18e2e8B2f6C4f3f2e5afc1229d9d7654B0DdAA3"] -const ARB_LP_ADDRESSES = ["0x11920f139a3121c2836E01551D43F95B3c31159c", "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9"] +const ethConfig = { + chain: 'ethereum', + contracts: [ADDRESSES.ethereum.YBR], + lpContracts: ['0xe81940eCdEFc9464082B51ACE7ADeD83a1dC1EFc'], + lpAddresses: [ADDRESSES.ethereum.YBR, ADDRESSES.ethereum.WETH] +}; -const ETH_LP_CONTRACTS = ["0xe81940eCdEFc9464082B51ACE7ADeD83a1dC1EFc"] -const ETH_LP_ADDRESSES = ["0x9d9535Dae62F5f12aB83F1183DCa1eAd244b0DB3", "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"] +const tvl = (chain) => async (api) => { + //const tokens = await api.call({ target: chain.tokenList }); + //const toa = tokens.map((token) => [token, chain.depositContract]); + return 0 // api.sumTokens({ tokensAndOwners: toa }); +}; module.exports = { timetravel: false, @@ -18,15 +31,13 @@ module.exports = { Pool2 covers LP tokens staked in the YieldBricks LP contracts. `, arbitrum: { - tvl: sumTokensExport({ - owners: ARB_STAKING_POOLS, - tokens: ARB_CONTRACTS_YBR, - chain: 'arbitrum' - }), - pool2: stakings(ARB_LP_CONTRACTS, ARB_LP_ADDRESSES, 'arbitrum'), + tvl: tvl(arbConfig), + pool2: pool2(arbConfig.lpContracts, arbConfig.lpAddresses, arbConfig.chain), + staking: stakings(arbConfig.stakingContracts, arbConfig.contracts, arbConfig.chain) }, ethereum: { tvl: () => ({}), - pool2: stakings(ETH_LP_CONTRACTS, ETH_LP_ADDRESSES, 'ethereum'), + pool2: pool2(ethConfig.lpContracts, ethConfig.lpAddresses, ethConfig.chain), + staking: () => ({}) } -} +} \ No newline at end of file From c8ffc00974337d516ee0270768a7567b23640729 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Terje=20S=C3=B8rensen?= Date: Mon, 20 Oct 2025 17:46:33 +0200 Subject: [PATCH 5/7] Updated YieldBricks adapter to show stats more correctly --- projects/yieldbricks/index.js | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/projects/yieldbricks/index.js b/projects/yieldbricks/index.js index 2fefdef3be..b92ee79f6d 100644 --- a/projects/yieldbricks/index.js +++ b/projects/yieldbricks/index.js @@ -1,6 +1,7 @@ const ADDRESSES = require('../helper/coreAssets.json') const { pool2 } = require("../helper/pool2.js"); const { stakings } = require('../helper/staking'); +const { sumTokensExport } = require('../helper/unwrapLPs') const arbConfig = { chain: 'arbitrum', @@ -17,10 +18,12 @@ const ethConfig = { lpAddresses: [ADDRESSES.ethereum.YBR, ADDRESSES.ethereum.WETH] }; -const tvl = (chain) => async (api) => { - //const tokens = await api.call({ target: chain.tokenList }); - //const toa = tokens.map((token) => [token, chain.depositContract]); - return 0 // api.sumTokens({ tokensAndOwners: toa }); +const tvl = (config) => async (api) => { + return sumTokensExport({ + owners: config.stakingContracts, + tokens: config.contracts, + chain: config.chain + }) }; module.exports = { @@ -31,7 +34,7 @@ module.exports = { Pool2 covers LP tokens staked in the YieldBricks LP contracts. `, arbitrum: { - tvl: tvl(arbConfig), + tvl: () => ({}), pool2: pool2(arbConfig.lpContracts, arbConfig.lpAddresses, arbConfig.chain), staking: stakings(arbConfig.stakingContracts, arbConfig.contracts, arbConfig.chain) }, From 0c07f878daa6442d58aaca1439a34b242b716ab4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Terje=20S=C3=B8rensen?= Date: Tue, 21 Oct 2025 14:12:51 +0200 Subject: [PATCH 6/7] Update coreAssets.json --- projects/helper/coreAssets.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/projects/helper/coreAssets.json b/projects/helper/coreAssets.json index 03a647769b..187905d230 100644 --- a/projects/helper/coreAssets.json +++ b/projects/helper/coreAssets.json @@ -68,8 +68,7 @@ "BTCN": "0x386E7A3a0c0919c9d53c3b04FF67E73Ff9e45Fb6", "POL": "0x455e53cbb86018ac2b8092fdcd39d8444affc3f6", "WSOL": "0xD31a59c85aE9D8edEFeC411D448f90841571b89c", - "WAVES": "0x0Fb765ddBD4d26AC524AA5990B0643D0Ab6Ac2fE", - "YBR": "0x9d9535Dae62F5f12aB83F1183DCa1eAd244b0DB3" + "WAVES": "0x0Fb765ddBD4d26AC524AA5990B0643D0Ab6Ac2fE" }, "fantom": { "WFTM": "0x21be370d5312f44cb42ce377bc9b8a0cef1a4c83", @@ -312,8 +311,7 @@ "sUSDe": "0x211cc4dd073734da055fbf44a2b4667d5e5fe5d2", "ETHFI": "0x7189fb5B6504bbfF6a852B13B7B82a3c118fDc27", "weETH": "0x35751007a407ca6FEFfE80b3cB397736D2cf4dbe", - "GOVI": "0x07e49d5de43dda6162fa28d24d5935c151875283", - "YBR": "0x11920f139a3121c2836e01551d43f95b3c31159c" + "GOVI": "0x07e49d5de43dda6162fa28d24d5935c151875283" }, "fuse": { "WFUSE": "0x0be9e53fd7edac9f859882afdda116645287c629", From 64383c4d20c4c7b64439c3c3999464b6d2c3e40a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan-Terje=20S=C3=B8rensen?= Date: Tue, 21 Oct 2025 14:14:44 +0200 Subject: [PATCH 7/7] Update index.js --- projects/yieldbricks/index.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/projects/yieldbricks/index.js b/projects/yieldbricks/index.js index b92ee79f6d..692abc945f 100644 --- a/projects/yieldbricks/index.js +++ b/projects/yieldbricks/index.js @@ -5,17 +5,17 @@ const { sumTokensExport } = require('../helper/unwrapLPs') const arbConfig = { chain: 'arbitrum', - contracts: [ADDRESSES.arbitrum.YBR], + contracts: ['0x11920f139a3121c2836e01551d43f95b3c31159c'], stakingContracts: ['0x7436750e80bB956C6488A879D573cA417D6712A2', '0x80EF7E080EfC299cd6a7Ed8341273d935252c896'], lpContracts: ['0xb18e2e8B2f6C4f3f2e5afc1229d9d7654B0DdAA3'], - lpAddresses: [ADDRESSES.arbitrum.YBR, ADDRESSES.arbitrum.USDT] + lpAddresses: ['0x11920f139a3121c2836e01551d43f95b3c31159c', ADDRESSES.arbitrum.USDT] }; const ethConfig = { chain: 'ethereum', - contracts: [ADDRESSES.ethereum.YBR], + contracts: ['0x9d9535Dae62F5f12aB83F1183DCa1eAd244b0DB3'], lpContracts: ['0xe81940eCdEFc9464082B51ACE7ADeD83a1dC1EFc'], - lpAddresses: [ADDRESSES.ethereum.YBR, ADDRESSES.ethereum.WETH] + lpAddresses: ['0x9d9535Dae62F5f12aB83F1183DCa1eAd244b0DB3', ADDRESSES.ethereum.WETH] }; const tvl = (config) => async (api) => { @@ -43,4 +43,4 @@ module.exports = { pool2: pool2(ethConfig.lpContracts, ethConfig.lpAddresses, ethConfig.chain), staking: () => ({}) } -} \ No newline at end of file +}