Skip to content

Commit 5e2878a

Browse files
will2024zhaoweig1nt0ki
authored
WORLDES is a RWA Liquidity Yield Protocol (DefiLlama#11952)
Co-authored-by: zhaowei <[email protected]> Co-authored-by: g1nt0ki <[email protected]>
1 parent 3f21309 commit 5e2878a

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

projects/worldes/index.js

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
const { getLogs2 } = require('../helper/cache/getLogs')
2+
3+
const config = {
4+
arbitrum: { dvmFactory: '0x3bA0388E64900e274f2C6fCfaE34Eed65c01282A', fromBlock: 228710000, dspFactory: '0xf3AadDd00C2E263d760BE52BB7142276B74E8b47', WorldesRWATokenFactory: '0x4Ef31B45919aE1874840B9563D46FCD57E2Ae0b7', WorldesDvmProxy: '0x7e93ED796aFD3D9a6e9a24c668153fBb981bE60E', WorldesDspProxy: '0xE6933Fb2dc110a43fdeC6bB83d6ae99aC557c452', WorldesMineProxy: '0x2eFda50249176e3ee1A26964Ad6496DC5aA2aCE7' },
5+
}
6+
7+
Object.keys(config).forEach(chain => {
8+
const { dvmFactory, fromBlock, dspFactory, blacklistedTokens, } = config[chain]
9+
module.exports[chain] = {
10+
tvl: async (api) => {
11+
const ownerTokens = []
12+
13+
await builder(dvmFactory, 'event NewDVM(address baseToken, address quoteToken, address creator, address pool)');
14+
await builder(dspFactory, 'event NewDSP(address baseToken, address quoteToken, address creator, address pool)');
15+
16+
return api.sumTokens({ ownerTokens, blacklistedTokens, permitFailure: true, })
17+
18+
async function builder(factorys, event) {
19+
if (!Array.isArray(factorys))
20+
factorys = [factorys];
21+
const res = factorys.map(factory => addLogs(factory, event));
22+
await Promise.all(res)
23+
}
24+
25+
async function addLogs(target, eventAbi) {
26+
const convert = i => [[i.baseToken, i.quoteToken], i.pool]
27+
let logs = await getLogs2({ api, target, eventAbi, fromBlock })
28+
ownerTokens.push(...logs.map(convert))
29+
}
30+
}
31+
}
32+
})

0 commit comments

Comments
 (0)