mirror of
https://github.com/FlipsideCrypto/multicall.py.git
synced 2026-02-06 02:36:46 +00:00
fix usdc decimals
This commit is contained in:
parent
f043d6c820
commit
089b39067d
@ -1,4 +1,5 @@
|
||||
import time
|
||||
from functools import partial
|
||||
from decimal import Decimal
|
||||
from multicall import Call, Multicall
|
||||
from prometheus_client import start_http_server, Gauge
|
||||
@ -53,6 +54,15 @@ def from_rad(value):
|
||||
return Decimal(value) / 10**45
|
||||
|
||||
|
||||
def from_wei(value, decimals=18):
|
||||
return Decimal(value) / 10**decimals
|
||||
|
||||
|
||||
from_wad = partial(from_wei, decimals=18)
|
||||
from_ray = partial(from_wei, decimals=27)
|
||||
from_rad = partial(from_wei, decimals=45)
|
||||
|
||||
|
||||
def from_ilk(values):
|
||||
return {
|
||||
'Art': from_wad(values[0]),
|
||||
@ -107,8 +117,8 @@ multi = Multicall([
|
||||
Call(ETH, ['balanceOf(address)(uint256)', MCD_JOIN_ETH_A], [['eth_locked', from_wad]]),
|
||||
Call(BAT, ['totalSupply()(uint256)'], [['bat_supply', from_wad]]),
|
||||
Call(BAT, ['balanceOf(address)(uint256)', MCD_JOIN_BAT_A], [['bat_locked', from_wad]]),
|
||||
Call(USDC, ['totalSupply()(uint256)'], [['usdc_supply', from_wad]]),
|
||||
Call(USDC, ['balanceOf(address)(uint256)', MCD_JOIN_USDC_A], [['usdc_locked', from_wad]]),
|
||||
Call(USDC, ['totalSupply()(uint256)'], [['usdc_supply', partial(from_wei, decimals=6)]]),
|
||||
Call(USDC, ['balanceOf(address)(uint256)', MCD_JOIN_USDC_A], [['usdc_locked', partial(from_wei, decimals=6)]]),
|
||||
Call(MCD_POT, ['Pie()(uint256)'], [['savings_pie', from_wad]]),
|
||||
Call(MCD_POT, ['chi()(uint256)'], [['pie_chi', from_ray]]),
|
||||
Call(MCD_POT, ['rho()(uint256)'], [['pot_drip', None]]),
|
||||
@ -143,12 +153,7 @@ def fetch_data():
|
||||
data['eth_price'] = data['eth_mat']['mat'] * data['eth_ilk']['spot']
|
||||
data['bat_price'] = data['bat_mat']['mat'] * data['bat_ilk']['spot']
|
||||
data['usdc_price'] = data['usdc_mat']['mat'] * data['usdc_ilk']['spot']
|
||||
data['sys_locked'] = (
|
||||
data['eth_price'] * data['eth_locked'] +
|
||||
data['bat_price'] * data['bat_locked'] +
|
||||
data['usdc_price'] * data['usdc_locked'] +
|
||||
data['sai_locked']
|
||||
)
|
||||
data['sys_locked'] = data['eth_price'] * data['eth_locked'] + data['bat_price'] * data['bat_locked'] + data['usdc_price'] * data['usdc_locked'] + data['sai_locked']
|
||||
data['sys_surplus'] = data['vow_dai'] - data['vow_sin']
|
||||
data['sys_debt'] = data['vow_sin'] - data['sin'] - data['ash']
|
||||
return data
|
||||
|
||||
Loading…
Reference in New Issue
Block a user