update ohm fork treasury info

This commit is contained in:
g1nt0ki
2023-04-30 20:54:39 +02:00
parent 31c46e6e37
commit 189c64f218
36 changed files with 323 additions and 97 deletions

View File

@@ -7,7 +7,8 @@ const USDC_ADDRESS = "0xc21223249CA28397B4B6541dfFaEcC539BfF0c59";
module.exports = {
start: 6949784,
cronos: {
tvl: sumTokensExport({ owner: BOC_TREASURY_ADDRESS, tokens: [CUSD_ADDRESS, USDC_ADDRESS]}),
// tvl: sumTokensExport({ owner: BOC_TREASURY_ADDRESS, tokens: [CUSD_ADDRESS, USDC_ADDRESS]}),
tvl: () => 0
},
methodology:
"CDP collateral value + treasury mv",

View File

@@ -0,0 +1,8 @@
const index = require('./index')
module.exports = {
polygon: {
tvl: () => 0,
staking: index.polygon.staking,
}
}

View File

@@ -0,0 +1,8 @@
const index = require('./index')
module.exports = {
ethereum: {
tvl: () => 0,
staking: index.ethereum.staking,
}
}

9
projects/fortress/api.js Normal file
View File

@@ -0,0 +1,9 @@
const index = require('./index')
module.exports = {
avax: {
tvl: () => 0,
staking: index.avax.staking,
}
}

View File

@@ -0,0 +1,8 @@
const index = require('../fortunedao.js')
module.exports = {
cronos: {
tvl: () => 0,
staking: index.cronos.staking,
}
}

View File

@@ -1,59 +1,18 @@
const { sumTokensAndLPsSharedOwners } = require("../helper/unwrapLPs");
const { staking } = require("../helper/staking");
const GgStaking = "0xBD79c01140CeE7040f8F5E935B72e13540a801b6"
const gg = "0xF2F7CE610a091B94d41D69f4fF1129434a82E2f0"
// https://app.galaxygoggle.money/#/bonds
const treasury = "0xD5F922e23693e552793fE0431F9a95ba67A60A23"
const dao = "0xDEEdd1646984F9372Cc9D3d7E13AC1606cC2B548"
const mim = "0x130966628846BFd36ff31a822705796e8cb8C18D"
const wavax = "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7"
const joe = "0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd"
async function tvl(timestamp, block, chainBlocks) {
const balances = {};
await sumTokensAndLPsSharedOwners(
balances,
[
[mim, false],
[wavax, false],
[joe, false],
["0xe9E8d6b6ce6D94Fc9d724711e80784Ec096949Fc", true], // mim-gg
],
[treasury, dao],
chainBlocks.avax,
'avax',
addr=>`avax:${addr}`
);
return balances;
}
const bscGG = "0xcAf23964Ca8db16D816eB314a56789F58fE0e10e";
const bscTreasury = "0xF76C9753507B3Df0867EB02D86d07C6fFcEecaf1";
const bscStaking = "0x97209Cf7a6FccC388eEfF85b35D858756f31690d";
const treasuryTokensBSC = [
["0xe9e7cea3dedca5984780bafc599bd69add087d56", false], // BUSD
["0x13Cf29b3F58f777dDeD38278F7d938401f6b260c", true] // GG-BUSD
]
async function bscTvl(timestamp, block, chainBlocks) {
let balances = {};
await sumTokensAndLPsSharedOwners(balances, treasuryTokensBSC, [bscTreasury], chainBlocks.bsc, "bsc", addr=>`bsc:${addr}`);
balances[`avax:${gg}`] = balances["bsc:0xcaf23964ca8db16d816eb314a56789f58fe0e10e"] || 0;
delete balances["bsc:0xcaf23964ca8db16d816eb314a56789f58fe0e10e"];
return balances;
}
module.exports = {
avax:{
tvl,
tvl: () => 0,
staking: staking(GgStaking, gg, "avax")
},
bsc: {
tvl: bscTvl,
tvl: () => 0,
staking: staking(bscStaking, bscGG, "bsc", `avax:${gg}`)
},
methodology:

View File

@@ -0,0 +1,8 @@
const index = require('./index')
module.exports = {
smartbch: {
tvl: () => 0,
staking: index.smartbch.staking,
}
}

8
projects/immortal/api.js Normal file
View File

@@ -0,0 +1,8 @@
const index = require('./index')
module.exports = {
celo: {
tvl: () => 0,
staking: index.celo.staking,
}
}

View File

@@ -8,6 +8,4 @@ const tokens = [
["0x7d63809EBF83EF54c7CE8dEd3591D4E8Fc2102eE", true] // IMMO-CUSD
]
module.exports = {
...ohmTvl(treasury, tokens, "celo", stakingContract, immo)
}
module.exports =ohmTvl(treasury, tokens, "celo", stakingContract, immo)

View File

@@ -0,0 +1,8 @@
const index = require('./index')
module.exports = {
ethereum: {
tvl: () => 0,
staking: index.ethereum.staking,
}
}

View File

@@ -27,7 +27,7 @@ module.exports = {
[xyz, false],
[ionx, false],
[entr, false],
[leagUsdc, true],
[leagUsdc, false],
],
"ethereum",
stakingContract,

8
projects/luxor/api.js Normal file
View File

@@ -0,0 +1,8 @@
const index = require('./index')
module.exports = {
fantom: {
tvl: () => 0,
staking: index.fantom.staking,
}
}

View File

@@ -1,47 +1,15 @@
const { sumTokensAndLPsSharedOwners, sumLPWithOnlyOneTokenOtherThanKnown } = require("../helper/unwrapLPs");
const { stakingUnknownPricedLP } = require("../helper/staking");
const sdk = require('@defillama/sdk')
const transform = addr=>`avax:${addr}`
const chain = "avax"
const wMEMO = "0x0da67235dd5787d67955420c84ca1cecd4e5bb3b"
const time = "avax:0xb54f16fb19478766a268f172c9480f8da1a7c9c3"
const treasuryAddress = "0x10C12B7322Ac2c5a26bD9929ABc6e6b7997570ba";
const joeLP = "0x7bc2561d69b56fae9760df394a9fa9202c5f1f11"
const treasuryTokens = [
// gOHM
["0x321E7092a180BB43555132ec53AaA65a5bF84251", false],
// Joe LP
[joeLP, true],
//wMEMO
[wMEMO, false]
]
const stakingToken = "0xAA2439DBAd718c9329a5893A51a708C015F76346"
async function tvl(timestamp, ethBlock, chainBlocks) {
const block = chainBlocks[chain]
const balances = {}
await sumTokensAndLPsSharedOwners(balances, treasuryTokens.filter(t => t[1] === false), [treasuryAddress], block, chain, transform)
await Promise.all(treasuryTokens.filter(t => t[1] === true).map(t =>
sumLPWithOnlyOneTokenOtherThanKnown(balances, t[0], treasuryAddress, stakingToken, block, chain, transform)
))
const wmemoAddress = transform(wMEMO)
const memo = await sdk.api.abi.call({
target: wMEMO,
abi: 'function wMEMOToMEMO(uint256 _amount) view returns (uint256)',
chain,
block: chainBlocks.avax,
params: [balances[wmemoAddress]]
})
balances[time] = memo.output
delete balances[wmemoAddress]
return balances
}
const stakingToken = "0xAA2439DBAd718c9329a5893A51a708C015F76346"
module.exports={
avax:{
tvl,
tvl: () => 0,
staking: stakingUnknownPricedLP("0x50971d6B5a3CCd79C516f914208C67C8104977dF", stakingToken, chain, joeLP, transform)
}
}

8
projects/omicron/api.js Normal file
View File

@@ -0,0 +1,8 @@
const index = require('./index')
module.exports = {
arbitrum: {
tvl: () => 0,
staking: index.arbitrum.staking,
}
}

16
projects/templar/api.js Normal file
View File

@@ -0,0 +1,16 @@
const index = require('./index')
module.exports = {
bsc: {
tvl: () => 0,
staking: index.bsc.staking,
},
moonriver: {
tvl: () => 0,
staking: index.moonriver.staking,
},
harmony: {
tvl: () => 0,
staking: index.harmony.staking,
},
}

9
projects/tipidao/api.js Normal file
View File

@@ -0,0 +1,9 @@
const index = require('./index')
module.exports = {
bsc: {
tvl: () => 0,
staking: index.bsc.staking,
}
}

View File

@@ -1,15 +1,17 @@
const { ohmTvl } = require("../helper/ohm");
const { sumTokensExport } = require('../helper/unwrapLPs')
const tpd = "0xd0253dbe5606c9fa01db67eb10be5c3675c2b117";
const tpdStaking = "0xAeab776bE63580cB86309CedB49769e6526abbf4";
const treasury = "0x3287f25f8F29e5d65cE566E5a2a1bd336431d8db";
const treasuryTokens = [
["0xe9e7cea3dedca5984780bafc599bd69add087d56", false], // BUSD
["0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", false], // WBNB
["0x50bc855ad6a3983589927e5bf3ac0688364ffa64", true] // TPD-BUSD CAKE LP
"0xe9e7cea3dedca5984780bafc599bd69add087d56", // BUSD
"0xbb4CdB9CBd36B01bD1cBaEBF2De08d9173bc095c", // WBNB
"0x50bc855ad6a3983589927e5bf3ac0688364ffa64" // TPD-BUSD CAKE LP
];
module.exports = {
misrepresentedTokens: true,
...ohmTvl(treasury, treasuryTokens, "bsc", tpdStaking, tpd, undefined, undefined, false)
}
bsc: {
tvl: sumTokensExport({ owner: treasury, tokens: treasuryTokens}),
staking: sumTokensExport({ owner: tpdStaking, tokens: [tpd]}),
}
}

View File

@@ -1,6 +1,6 @@
const { nullAddress,treasuryExports } = require("../helper/treasury");
const teamTreasury = "0x1087234fe877721F30016ebeD5BEd061397C8851";
const teamTreasury = "0xBacF28BF21B374459C738289559EF89978D08102";
const BOC = "0xe5786DDFc4D6DcA0973D1c5b02987cBbac66ed87";
const pBOC = "0xF93fB4CDB0e40dbF33d2cDbf11D9516f6aDd7e8e";
@@ -16,6 +16,6 @@ module.exports = treasuryExports({
'0x062E66477Faf219F25D27dCED647BF57C3107d52',//WBTC
],
owners: [teamTreasury],
ownTokens: [BOC, pBOC],
// ownTokens: [BOC, pBOC],
},
})

View File

@@ -0,0 +1,3 @@
module.exports = require("../cerberusdao/index");
delete module.exports.ethereum.staking

View File

@@ -0,0 +1,3 @@
module.exports = require("../fortress/index");
delete module.exports.avax.staking

View File

@@ -0,0 +1,3 @@
module.exports = require("../fortunedao");
delete module.exports.cronos.staking

View File

@@ -0,0 +1,55 @@
const { sumTokensAndLPsSharedOwners } = require("../helper/unwrapLPs");
const gg = "0xF2F7CE610a091B94d41D69f4fF1129434a82E2f0"
// https://app.galaxygoggle.money/#/bonds
const treasury = "0xD5F922e23693e552793fE0431F9a95ba67A60A23"
const dao = "0xDEEdd1646984F9372Cc9D3d7E13AC1606cC2B548"
const mim = "0x130966628846BFd36ff31a822705796e8cb8C18D"
const wavax = "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7"
const joe = "0x6e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd"
async function tvl(timestamp, block, chainBlocks) {
const balances = {};
await sumTokensAndLPsSharedOwners(
balances,
[
[mim, false],
[wavax, false],
[joe, false],
["0xe9E8d6b6ce6D94Fc9d724711e80784Ec096949Fc", true], // mim-gg
],
[treasury, dao],
chainBlocks.avax,
'avax',
addr=>`avax:${addr}`
);
return balances;
}
const bscTreasury = "0xF76C9753507B3Df0867EB02D86d07C6fFcEecaf1";
const treasuryTokensBSC = [
["0xe9e7cea3dedca5984780bafc599bd69add087d56", false], // BUSD
["0x13Cf29b3F58f777dDeD38278F7d938401f6b260c", true] // GG-BUSD
]
async function bscTvl(timestamp, block, chainBlocks) {
let balances = {};
await sumTokensAndLPsSharedOwners(balances, treasuryTokensBSC, [bscTreasury], chainBlocks.bsc, "bsc", addr=>`bsc:${addr}`);
balances[`avax:${gg}`] = balances["bsc:0xcaf23964ca8db16d816eb314a56789f58fe0e10e"] || 0;
delete balances["bsc:0xcaf23964ca8db16d816eb314a56789f58fe0e10e"];
return balances;
}
module.exports = {
avax:{
tvl,
},
bsc: {
tvl: bscTvl,
},
methodology:
"Counts tokens on the treasury for tvl and staked GG for staking",
};

View File

@@ -0,0 +1,3 @@
module.exports = require("../goblinscash/index");
delete module.exports.smartbch.staking

View File

@@ -0,0 +1,5 @@
const olympus = require("../immortal/index");
module.exports = olympus;
delete module.exports.celo.staking

View File

@@ -0,0 +1,5 @@
const olympus = require("../leaguedao/index");
module.exports = olympus;
delete module.exports.ethereum.staking

View File

@@ -0,0 +1,5 @@
const olympus = require("../luxor/index");
module.exports = olympus;
delete module.exports.fantom.staking

View File

@@ -0,0 +1,15 @@
const { treasuryExports, } = require("../helper/treasury");
module.exports = treasuryExports({
avax: {
tokens: [
'0x321E7092a180BB43555132ec53AaA65a5bF84251',
'0x7bc2561d69b56fae9760df394a9fa9202c5f1f11',
'0x0da67235dd5787d67955420c84ca1cecd4e5bb3b',
],
owners: ['0x10c12b7322ac2c5a26bd9929abc6e6b7997570ba'],
resolveLP: true,
ownTokens: ['0xaa2439dbad718c9329a5893a51a708c015f76346']
},
})

View File

@@ -1,5 +1,3 @@
const olympus = require("../olympus/index");
module.exports = olympus;
module.exports = require("../olympus/index");
delete module.exports.ethereum.staking

View File

@@ -0,0 +1,3 @@
module.exports = require("../omicron/index");
delete module.exports.arbitrum.staking

View File

@@ -0,0 +1,5 @@
module.exports = require("../templar/index");
delete module.exports.bsc.staking
delete module.exports.moonriver.staking
delete module.exports.harmony.staking

View File

@@ -0,0 +1,3 @@
module.exports = require("../tipidao/index");
delete module.exports.bsc.staking

View File

@@ -0,0 +1,4 @@
module.exports = require("../volta-dao/index");
delete module.exports.avax.staking
delete module.exports.fantom.staking

View File

@@ -0,0 +1,78 @@
const sdk = require("@defillama/sdk");
const abi = require("../wagmidao/abi.json");
const { unwrapUniswapLPs } = require("../helper/unwrapLPs");
const {
getFixBalancesSync,
} = require("../helper/portedTokens");
const bondContracts = [
//Bond 1USDC
"0xe443F63564216f60625520465F1324043fcC47b9",
//Bond GMI-1USDC
"0x8c4300a7A71efF73b24DCd8f849f82A8B36b5D8a",
//Bond WONE
"0xa31a22d9dec269f512cf62b83039190fbe67f7d2",
//Bond 1ETH
"0x08d44C114e3C0102ace43e9656f478DD4a71cD1D",
//Bond FAM
"0xEfb7DDE5261100a32657C9606507a130257D93c6",
];
const GMI = "0x8750f5651af49950b5419928fecefca7c82141e3";
const Treasury = async (timesamp, ethBlock, chainBlocks) => {
const balances = {};
const tokenAddresses = (
await sdk.api.abi.multiCall({
abi: abi.principal,
calls: bondContracts.map((bond) => ({
target: bond,
})),
chain: "harmony",
block: chainBlocks["harmony"],
})
).output.map((t) => t.output);
const tokenBalances = (
await sdk.api.abi.multiCall({
abi: abi.totalPrincipalReceived,
calls: bondContracts.map((bond) => ({
target: bond,
})),
chain: "harmony",
block: chainBlocks["harmony"],
})
).output.map((b) => b.output);
const lpPositions = [];
tokenAddresses.forEach((token, idx) => {
if (token == "0x73919726cC9d988cEa1a378772e5f775dF33C049") {
lpPositions.push({ token, balance: tokenBalances[idx] });
} else {
sdk.util.sumSingleBalance(
balances,
`harmony:${token}`,
tokenBalances[idx]
);
}
});
await unwrapUniswapLPs(
balances,
lpPositions,
chainBlocks["harmony"],
"harmony",
);
getFixBalancesSync('harmony')(balances);
return balances;
};
module.exports = {
harmony: {
tvl: Treasury,
},
methodology: "Counts liquidity on the Farms through Factory Contract, and counts Treasury as it is determined by bonding of assets. Staking refers to the staked GMI tokens",
};

12
projects/volta-dao/api.js Normal file
View File

@@ -0,0 +1,12 @@
const index = require('./index')
module.exports = {
fantom: {
tvl: () => 0,
staking: index.fantom.staking,
},
avax: {
tvl: () => 0,
staking: index.avax.staking,
},
}

View File

@@ -107,7 +107,7 @@ module.exports = {
timetravel: true,
harmony: {
staking: Staking,
tvl: sdk.util.sumChainTvls([uniTvlExport(factory, 'harmony'), Treasury]),
tvl: sdk.util.sumChainTvls([uniTvlExport(factory, 'harmony'),]),
},
methodology: "Counts liquidity on the Farms through Factory Contract, and counts Treasury as it is determined by bonding of assets. Staking refers to the staked GMI tokens",
};

View File

@@ -3,7 +3,7 @@ const childProcess = require('child_process')
inquirer.registerPrompt('fuzzypath', require('inquirer-fuzzy-path'))
console.log('Starting directory: ' + process.cwd());
try {
process.chdir('./projects/treasury');
process.chdir('./projects/');
console.log('New directory: ' + process.cwd());
}
catch (err) {
@@ -57,7 +57,7 @@ async function runAdapter(adapterPath, debugMode) {
const startTime = Date.now()
const child = childProcess.fork('../../test.js', [adapterPath], {
const child = childProcess.fork(__dirname +'/../test.js', [adapterPath], {
env,
})