Skip to content

Commit

Permalink
Merge pull request #306 from dappradar/DAPPRADAR-10289
Browse files Browse the repository at this point in the history
fluid integrations
  • Loading branch information
mantasfam committed Sep 9, 2024
2 parents 3d1d6a4 + 5be08e2 commit 5dd127e
Show file tree
Hide file tree
Showing 4 changed files with 142 additions and 2 deletions.
49 changes: 49 additions & 0 deletions src/factory/providers/arbitrum/fluid/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import util from '../../../../util/blockchainUtil';
import FLUID_LIQUIDITY_RESOLVER_ABI from './../../../../constants/abi/fluidLiquidityResolverAbi.json';
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';
import formatter from '../../../../util/formatter';

const FLUID_LIQUIDITY_RESOLVER_ADDRESS =
'0x46859d33E662d4bF18eEED88f74C36256E606e44';
const FLUID_LIQUIDITY_PROXY_ADDRESS =
'0x52aa899454998be5b000ad077a46bbe360f4e497';
const START_BLOCK = 220375059;
const ETH_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';

async function tvl(params: ITvlParams): Promise<Partial<ITvlReturn>> {
const { block, chain, provider, web3 } = params;
if (block < START_BLOCK) {
return { balances: {} };
}

const listedTokens = await util.executeCall(
FLUID_LIQUIDITY_RESOLVER_ADDRESS,
FLUID_LIQUIDITY_RESOLVER_ABI,
'listedTokens',
[],
block,
chain,
web3,
);

const balances = {
[util.ZERO_ADDRESS]: await web3.eth.getBalance(
FLUID_LIQUIDITY_PROXY_ADDRESS,
block,
),
};

const tokenBalances = await util.getTokenBalances(
FLUID_LIQUIDITY_PROXY_ADDRESS,
listedTokens.filter((token: any) => token.token !== ETH_ADDRESS),
block,
chain,
web3,
);

formatter.sumMultiBalanceOf(balances, tokenBalances);
formatter.convertBalancesToFixed(balances);
return { balances };
}

export { tvl };
49 changes: 49 additions & 0 deletions src/factory/providers/base/fluid/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import util from '../../../../util/blockchainUtil';
import FLUID_LIQUIDITY_RESOLVER_ABI from './../../../../constants/abi/fluidLiquidityResolverAbi.json';
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';
import formatter from '../../../../util/formatter';

const FLUID_LIQUIDITY_RESOLVER_ADDRESS =
'0x35A915336e2b3349FA94c133491b915eD3D3b0cd';
const FLUID_LIQUIDITY_PROXY_ADDRESS =
'0x52aa899454998be5b000ad077a46bbe360f4e497';
const START_BLOCK = 17391473;
const ETH_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';

async function tvl(params: ITvlParams): Promise<Partial<ITvlReturn>> {
const { block, chain, provider, web3 } = params;
if (block < START_BLOCK) {
return { balances: {} };
}

const listedTokens = await util.executeCall(
FLUID_LIQUIDITY_RESOLVER_ADDRESS,
FLUID_LIQUIDITY_RESOLVER_ABI,
'listedTokens',
[],
block,
chain,
web3,
);

const balances = {
[util.ZERO_ADDRESS]: await web3.eth.getBalance(
FLUID_LIQUIDITY_PROXY_ADDRESS,
block,
),
};

const tokenBalances = await util.getTokenBalances(
FLUID_LIQUIDITY_PROXY_ADDRESS,
listedTokens.filter((token: any) => token.token !== ETH_ADDRESS),
block,
chain,
web3,
);

formatter.sumMultiBalanceOf(balances, tokenBalances);
formatter.convertBalancesToFixed(balances);
return { balances };
}

export { tvl };
46 changes: 44 additions & 2 deletions src/factory/providers/ethereum/fluid/index.ts
Original file line number Diff line number Diff line change
@@ -1,23 +1,45 @@
import util from '../../../../util/blockchainUtil';
import FLUID_LIQUIDITY_RESOLVER_ABI from './fluidLiquidityResolverAbi.json';
import FLUID_LIQUIDITY_RESOLVER_ABI from './../../../../constants/abi/fluidLiquidityResolverAbi.json';
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';
import formatter from '../../../../util/formatter';

const FLUID_LIQUIDITY_RESOLVER_ADDRESS =
'0x741c2Cd25f053a55fd94afF1afAEf146523E1249';
const FLUID_LIQUIDITY_RESOLVER_ADDRESS_2 =
'0xD7588F6c99605Ab274C211a0AFeC60947668A8Cb';
const FLUID_LIQUIDITY_PROXY_ADDRESS =
'0x52aa899454998be5b000ad077a46bbe360f4e497';
const START_BLOCK = 19239123;
const ETH_ADDRESS = '0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee';
const WEETH_ADDRESS = '0xcd5fe23c85820f7b72d0926fc9b05b43e359b7ee';
const ZIRCUIT_ADDRESS = '0xF047ab4c75cebf0eB9ed34Ae2c186f3611aEAfa6';
const WEETHS_ADDRESS = '0x917ceE801a67f933F2e6b33fC0cD1ED2d5909D88';
const ZIRCUIT_ABI = [
{
inputs: [
{ internalType: 'address', name: '', type: 'address' },
{ internalType: 'address', name: '', type: 'address' },
],
name: 'balance',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
];

async function tvl(params: ITvlParams): Promise<Partial<ITvlReturn>> {
const { block, chain, provider, web3 } = params;
if (block < START_BLOCK) {
return { balances: {} };
}

const liquidityResolverAddress =
block < 19992056
? FLUID_LIQUIDITY_RESOLVER_ADDRESS
: FLUID_LIQUIDITY_RESOLVER_ADDRESS_2;

const listedTokens = await util.executeCall(
FLUID_LIQUIDITY_RESOLVER_ADDRESS,
liquidityResolverAddress,
FLUID_LIQUIDITY_RESOLVER_ABI,
'listedTokens',
[],
Expand All @@ -33,6 +55,26 @@ async function tvl(params: ITvlParams): Promise<Partial<ITvlReturn>> {
),
};

balances[WEETHS_ADDRESS] = await util.executeCall(
ZIRCUIT_ADDRESS,
ZIRCUIT_ABI,
'balance',
[WEETHS_ADDRESS, FLUID_LIQUIDITY_PROXY_ADDRESS],
block,
chain,
web3,
);

balances[WEETH_ADDRESS] = await util.executeCall(
ZIRCUIT_ADDRESS,
ZIRCUIT_ABI,
'balance',
[WEETH_ADDRESS, FLUID_LIQUIDITY_PROXY_ADDRESS],
block,
chain,
web3,
);

const tokenBalances = await util.getTokenBalances(
FLUID_LIQUIDITY_PROXY_ADDRESS,
listedTokens.filter((token: any) => token.token !== ETH_ADDRESS),
Expand Down

0 comments on commit 5dd127e

Please sign in to comment.