Skip to content

Commit c6fa424

Browse files
committed
track weft v2 DefiLlama#12415
1 parent 3635c97 commit c6fa424

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

projects/weft-finance-v2/index.js

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
const ADDRESSES = require('../helper/coreAssets.json')
2+
const { post } = require('../helper/http')
3+
4+
const { sumTokens } = require('../helper/chain/radixdlt');
5+
6+
const KEY_VALUE_STORE_URL = `https://mainnet.radixdlt.com/state/key-value-store/`
7+
8+
const lendingPool = 'component_rdx1czmr02yl4da709ceftnm9dnmag7rthu0tu78wmtsn5us9j02d9d0xn'
9+
10+
const lendingMarket = 'component_rdx1cpy6putj5p7937clqgcgutza7k53zpha039n9u5hkk0ahh4stdmq4w'
11+
12+
const resourcePoolsKVS = 'internal_keyvaluestore_rdx1kzjr763caq96j0kv883vy8gnf3jvrrp7dfm9zr5n0akryvzsxvyujc'
13+
14+
async function tvl(api) {
15+
return sumTokens({ owners: [lendingPool, lendingMarket], api });
16+
}
17+
18+
async function borrowed(api) {
19+
20+
let keys = (await post(`${KEY_VALUE_STORE_URL}/keys`, { "key_value_store_address": resourcePoolsKVS })).items.map(i => ({ key_hex: i.key.raw_hex }))
21+
22+
let data = (await post(`${KEY_VALUE_STORE_URL}/data`, { "key_value_store_address": resourcePoolsKVS, "keys": keys })).entries.map(i => ([i.key.programmatic_json.value, i.value.programmatic_json.fields]))
23+
24+
data.forEach(([key, fields]) => {
25+
26+
let totalLoan = fields[6].fields[1].value
27+
28+
api.add(key, +totalLoan)
29+
30+
});
31+
32+
}
33+
34+
module.exports = {
35+
radixdlt: { tvl, borrowed },
36+
timetravel: false,
37+
};

0 commit comments

Comments
 (0)