Skip to content

Commit

Permalink
Merge pull request #294 from dappradar/Skale-Europa-integration
Browse files Browse the repository at this point in the history
Skale Europa integrations
  • Loading branch information
mantasfam authored Jul 25, 2024
2 parents 61d5ac9 + 8d38a96 commit 9654bac
Show file tree
Hide file tree
Showing 8 changed files with 158 additions and 0 deletions.
1 change: 1 addition & 0 deletions .env.dev
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ BTTC_NODE_URL=https://rpc.bittorrentchain.io
XAI_NODE_URL=
BAHAMUT_NODE_URL=https://rpc2.bahamut.io/
TONCENTER_API_KEY=
SKALE-EUROPA_NODE_URL=https://mainnet.skalenodes.com/v1/elated-tan-skat
##======================== LOGSTASH ========================
LOGSTASH_PORT=
LOGSTASH_HOST=
Expand Down
1 change: 1 addition & 0 deletions src/app.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -69,5 +69,6 @@ nodeUrls['APTOS_NODE_URL'] = process.env['APTOS_NODE_URL'];
nodeUrls['BTTC_NODE_URL'] = process.env['BTTC_NODE_URL'];
nodeUrls['XAI_NODE_URL'] = process.env['XAI_NODE_URL'];
nodeUrls['BAHAMUT_NODE_URL'] = process.env['BAHAMUT_NODE_URL'];
nodeUrls['SKALE-EUROPA_NODE_URL'] = process.env['SKALE-EUROPA_NODE_URL'];

export { config, nodeUrls };
28 changes: 28 additions & 0 deletions src/factory/providers/skale-europa/aquas/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import formatter from '../../../../util/formatter';
import uniswapV2 from '../../../../util/calculators/uniswapV2';
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';

const START_BLOCK = 3823515;
const FACTORY_ADDRESS = '0xc318a82CB7c2B0faf7e355BB8F285016956aBF55';

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

if (block < START_BLOCK) {
return {};
}

const { balances, poolBalances } = await uniswapV2.getTvl(
FACTORY_ADDRESS,
block,
chain,
provider,
web3,
);

formatter.convertBalancesToFixed(balances);

return { balances, poolBalances };
}

export { tvl };
29 changes: 29 additions & 0 deletions src/factory/providers/skale-europa/meson/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';
import axios from 'axios';
import formatter from '../../../../util/formatter';
import util from '../../../../util/blockchainUtil';

const URI = 'https://relayer.meson.fi/api/v1/list';

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

const balances = {};
const skaleEuropaData = (await axios.get(URI)).data.result.find(
(item: any) => item.id === 'skale-europa',
);

const tokenBalances = await util.getTokenBalances(
skaleEuropaData.address,
skaleEuropaData.tokens.map((token: any) => token.addr),
block,
chain,
web3,
);

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

export { tvl };
42 changes: 42 additions & 0 deletions src/factory/providers/skale-europa/ruby-exchange/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
import formatter from '../../../../util/formatter';
import uniswapV2 from '../../../../util/calculators/uniswapV2';
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';
import util from '../../../../util/blockchainUtil';

const START_BLOCK = 50404;
const FACTORY_ADDRESS = '0x71f7bbbb33550fa5d70ca3f7eead87529f2dc3c8';

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

if (block < START_BLOCK) {
return {};
}

const { balances, poolBalances } = await uniswapV2.getTvl(
FACTORY_ADDRESS,
block,
chain,
provider,
web3,
);

const tokenBalances = await util.getTokenBalances(
'0x45c550dc634bcc271c092a20d36761d3bb834e5d',
[
'0x73d22d8a2D1f59Bf5Bcf62cA382481a2073FAF58',
'0x1c0491E3396AD6a35f061c62387a95d7218FC515',
'0x5F795bb52dAC3085f578f4877D450e2929D2F13d',
'0xD05C4be5f3be302d376518c9492EC0147Fa5A718',
],
block,
chain,
web3,
);

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

export { tvl };
28 changes: 28 additions & 0 deletions src/factory/providers/skale-europa/sushiswap/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
import formatter from '../../../../util/formatter';
import uniswapV2 from '../../../../util/calculators/uniswapV2';
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';

const START_BLOCK = 5124080;
const FACTORY_ADDRESS = '0x1aaF6eB4F85F8775400C1B10E6BbbD98b2FF8483';

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

if (block < START_BLOCK) {
return {};
}

const { balances, poolBalances } = await uniswapV2.getTvl(
FACTORY_ADDRESS,
block,
chain,
provider,
web3,
);

formatter.convertBalancesToFixed(balances);

return { balances, poolBalances };
}

export { tvl };
25 changes: 25 additions & 0 deletions src/factory/providers/skale-europa/sushiswapv3/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { ITvlParams, ITvlReturn } from '../../../../interfaces/ITvl';
import uniswapV3 from '../../../../util/calculators/uniswapV3chain';

const V3_START_BLOCK = 5124251;
const V3_FACTORY_ADDRESS = '0x51d15889b66A2c919dBbD624d53B47a9E8feC4bB';

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

const balances = await uniswapV3.getTvl(
V3_FACTORY_ADDRESS,
V3_START_BLOCK,
block,
chain,
provider,
web3,
);

return { balances, poolBalances: {} };
}

export { tvl };
4 changes: 4 additions & 0 deletions src/util/data.ts
Original file line number Diff line number Diff line change
Expand Up @@ -103,6 +103,10 @@ const data = {
prefix: 'ton_',
delay: 0,
},
'skale-europa': {
prefix: 'skeur_',
delay: 0,
},
},
FILTERS: {
MarketCapInFiat: 'marketCapInFiat',
Expand Down

0 comments on commit 9654bac

Please sign in to comment.