Skip to content

Commit 9a68b18

Browse files
authored
Add aqua pool for Syncswap (DefiLlama#8962)
1 parent 5ef7415 commit 9a68b18

File tree

1 file changed

+38
-16
lines changed

1 file changed

+38
-16
lines changed

projects/syncswap/index.js

Lines changed: 38 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,20 +3,29 @@ const { transformDexBalances } = require('../helper/portedTokens')
33
const sdk = require('@defillama/sdk')
44

55
async function tvl(timestamp, ethBlock, chainBlocks, { api }) {
6-
const { fromBlock, stableFactory, classicFactory, } = config[api.chain]
7-
const stableLogs = await getFactoryLogs(api, stableFactory)
8-
const classicLogs = await getFactoryLogs(api, classicFactory)
6+
const { fromBlock, classicFactorys, stableFactorys, aquaFactorys = [] } = config[api.chain]
7+
8+
const logs = await Promise.all([...classicFactorys, ...stableFactorys, ...aquaFactorys].map(factory => (getFactoryLogs(api, factory))));
9+
910
const balances = {}
1011
const data = []
11-
const stableReserves = await api.multiCall({ abi: 'function getReserves() external view returns (uint, uint)', calls: stableLogs.map(i => i.pool) })
12-
const classicReserves = await api.multiCall({ abi: 'function getReserves() external view returns (uint, uint)', calls: classicLogs.map(i => i.pool) })
13-
stableReserves.forEach(([reserve0, reserve1], i) => {
14-
sdk.util.sumSingleBalance(balances, stableLogs[i].token0, reserve0)
15-
sdk.util.sumSingleBalance(balances, stableLogs[i].token1, reserve1)
16-
})
17-
classicReserves.forEach(([token0Bal, token1Bal], i) => {
18-
data.push({ token0Bal, token1Bal, token0: classicLogs[i].token0, token1: classicLogs[i].token1, })
19-
})
12+
13+
const reserves = await Promise.all(logs.map(log => (api.multiCall({ abi: 'function getReserves() external view returns (uint, uint)', calls: log.map(i => i.pool) }))))
14+
15+
for (let i = 0; i < logs.length; i++) {
16+
if (i < classicFactorys.length) {
17+
reserves[i].forEach(([token0Bal, token1Bal], j) => {
18+
data.push({ token0Bal, token1Bal, token0: logs[i][j].token0, token1: logs[i][j].token1, })
19+
})
20+
} else {
21+
reserves[i].forEach(([reserve0, reserve1], j) => {
22+
sdk.util.sumSingleBalance(balances, logs[i][j].token0, reserve0)
23+
sdk.util.sumSingleBalance(balances, logs[i][j].token1, reserve1)
24+
})
25+
}
26+
}
27+
28+
2029
return transformDexBalances({ balances, data, chain: api.chain })
2130

2231
async function getFactoryLogs(api, factory) {
@@ -32,13 +41,26 @@ async function tvl(timestamp, ethBlock, chainBlocks, { api }) {
3241
}
3342

3443
const config = {
35-
era: { fromBlock: 9775, stableFactory: '0x5b9f21d407F35b10CbfDDca17D5D84b129356ea3', classicFactory: '0xf2DAd89f2788a8CD54625C60b55cD3d2D0ACa7Cb', },
36-
linea: { fromBlock: 716, stableFactory: '0xE4CF807E351b56720B17A59094179e7Ed9dD3727', classicFactory: '0x37BAc764494c8db4e54BDE72f6965beA9fa0AC2d', },
37-
scroll: { fromBlock: 80875, stableFactory: '0xE4CF807E351b56720B17A59094179e7Ed9dD3727', classicFactory: '0x37BAc764494c8db4e54BDE72f6965beA9fa0AC2d', },
44+
era: {
45+
fromBlock: 9775,
46+
stableFactorys: ['0x5b9f21d407F35b10CbfDDca17D5D84b129356ea3'],
47+
classicFactorys: ['0xf2DAd89f2788a8CD54625C60b55cD3d2D0ACa7Cb'],
48+
aquaFactorys: ['0x20b28B1e4665FFf290650586ad76E977EAb90c5D']
49+
},
50+
linea: {
51+
fromBlock: 716,
52+
stableFactorys: ['0xE4CF807E351b56720B17A59094179e7Ed9dD3727'],
53+
classicFactorys: ['0x37BAc764494c8db4e54BDE72f6965beA9fa0AC2d'],
54+
},
55+
scroll: {
56+
fromBlock: 80875,
57+
stableFactorys: ['0xE4CF807E351b56720B17A59094179e7Ed9dD3727'],
58+
classicFactorys: ['0x37BAc764494c8db4e54BDE72f6965beA9fa0AC2d'],
59+
},
3860
}
3961

4062
module.exports = {
4163
misrepresentedTokens: true,
4264
}
4365

44-
Object.keys(config).forEach(chain => { module.exports[chain] = { tvl } })
66+
Object.keys(config).forEach(chain => { module.exports[chain] = { tvl } })

0 commit comments

Comments
 (0)