PageSourceSearch

https://curvemonitor.com/assets/crvusd-CGyrFliC.js

js curvemonitor.com collected 2026-10-04 09:22:56 UTC 7,092 bytes, 1 lines download raw bytes

1import{dt as e,s as t}from"./runtime-core.esm-bundler-BwUoGYLm.js";import{t as n}from"./useQuery-CbbNICuR.js";import{n as r}from"./Addresses-DgVq7xb0.js";import{a as i,i as a,n as o,s,t as c}from"./timestamp-CNrO2_G2.js";import{i as l,n as u,r as d,t as f}from"./timestamp-BIrHkTTV.js";import{t as p}from"./api-Cm1ZXjpa.js";var m=e=>({name:e.collateral_token.symbol,address:e.address,factoryAddress:e.factory_address,llamma:e.llamma,rate:e.rate,borrowed:e.total_debt,borrowedUsd:e.total_debt_usd,borrowable:e.borrowable,leverage:e.leverage,collateralAmount:e.collateral_amount,collateralAmountUsd:e.collateral_amount_usd,debtCeiling:e.debt_ceiling,loans:e.n_loans,collateralToken:{symbol:e.collateral_token.symbol,address:e.collateral_token.address,rebasingYield:e.collateral_token.rebasing_yield},stablecoinToken:{symbol:e.stablecoin_token.symbol,address:e.stablecoin_token.address,rebasingYield:e.stablecoin_token.rebasing_yield},fees:{pending:e.pending_fees,collected:e.collected_fees},created_at:new Date(e.created_at),maxLtv:e.max_ltv}),h=e=>({timestamp:o(e.dt),rate:e.rate,nLoans:e.n_loans,minted:e.minted,redeemed:e.redeemed,totalCollateral:e.total_collateral,totalCollateralUsd:e.total_collateral_usd,totalStablecoin:e.total_stablecoin,totalStablecoinUsd:e.total_stablecoin_usd,totalDebt:e.total_debt,totalDebtUsd:e.total_debt_usd,priceAMM:e.amm_price,priceOracle:e.price_oracle,borrowable:e.borrowable,discountLiquidation:e.liquidation_discount,discountLoan:e.loan_discount,ammA:e.amm_a,basePrice:e.base_price,minBand:e.min_band,maxBand:e.max_band,sumDebtSquared:e.sum_debt_squared,collateralToken:{symbol:e.collateral_token.symbol,address:e.collateral_token.address,rebasingYield:e.collateral_token.rebasing_yield},stablecoinToken:{symbol:e.stablecoin_token.symbol,address:e.stablecoin_token.address,rebasingYield:e.stablecoin_token.rebasing_yield},maxLtv:e.max_ltv}),g=e=>({address:e.address,pool:e.pool,poolAddress:e.pool_address,pair:e.pair.map(e=>({symbol:e.symbol,address:e.address})),active:e.active,totalDebt:e.total_debt,totalProfit:e.total_profit}),_=e=>({timestamp:o(e.timestamp),market:e.market,supply:e.supply,borrowable:e.borrowable}),v=e=>e.markets.map(e=>({collateral:e.collateral,controller:e.controller,snapshotFirst:o(e.first_snapshot),snapshotLast:o(e.last_snapshot)})),y=e=>({health:e.health,healthFull:e.health_full,n:e.n,n1:e.n1,n2:e.n2,debt:e.debt,collateral:e.collateral,collateralUp:e.collateral_up,stablecoin:e.stablecoin,softLiquidation:e.soft_liquidation,totalDeposited:e.total_deposited,loss:e.loss,lossPct:e.loss_pct,oraclePrice:e.oracle_price,blockNumber:e.block_number,timestamp:o(e.timestamp)}),b=e=>e.data.map(y),x=e=>({controller:e.controller,user:e.user,totalDeposit:e.total_deposit,totalDepositPrecise:e.total_deposit_precise,totalDepositUsd:e.total_deposit_usd_value,totalBorrowed:e.total_borrowed,totalBorrowedPrecise:e.total_borrowed_precise,events:e.data.map(e=>({timestamp:o(e.dt),txHash:e.transaction_hash,type:e.type,user:e.user,collateralChange:e.collateral_change,collateralChangeUsd:e.collateral_change_usd??void 0,loanChange:e.loan_change,loanChangeUsd:e.loan_change_usd??void 0,liquidation:e.liquidation===null?void 0:{user:e.liquidation.user,liquidator:e.liquidation.liquidator,collateralReceived:e.liquidation.collateral_received,collateralReceivedUsd:e.liquidation.collateral_received_usd,stablecoinReceived:e.liquidation.stablecoin_received,stablecoinReceivedUsd:e.liquidation.stablecoin_received_usd,debt:e.liquidation.debt,debtUsd:e.liquidation.debt_usd},n1:e.n1,n2:e.n2,oraclePrice:e.oracle_price,isPositionClosed:e.is_position_closed}))});async function S(e,t={},n){return(await i(`${s(n)}/v1/crvusd/markets/${e}${a(t)}`)).data.map(m)}async function C(e,t,n={fetch_on_chain:!0,agg:`day`,limit:100},r){return(await i(`${s(r)}/v1/crvusd/markets/${e}/${t}
1/snapshots${a(n)}`)).data.map(h)}async function w(e,t,n){return(await i(`${s(n)}/v1/crvusd/markets/${e}/supply${a(c({daysRange:t}))}`)).data.map(_)}async function T(e,t){return(await i(`${s(t)}/v1/crvusd/pegkeepers/${e}`)).keepers.map(g)}async function E(e,t,n){return v(await i(`${s(n)}/v1/crvusd/users/${t}/${e}?page=1&per_page=100&include_closed=false`))}async function D(e,t,n,r){return b(await i(`${s(r)}/v1/crvusd/users/${t}/${e}/${n}/snapshots?page=1&per_page=100`))}async function O(e=``,t,n,r,a){return x(await i(`${s(a)}/v1/crvusd/collateral_events/${t}/${n}/${e}${r?`?new_hash=${r}`:``}`))}function k(){return{initialData:[],initialDataUpdatedAt:0}}function A(r=30){let i=t(()=>e(r));return n({queryKey:[`crvusd-supply`,i],queryFn:()=>w(`ethereum`,i.value),...k()})}function j(e){return n({queryKey:[`crvusd-market-snapshots`,t(()=>e.value?.address)],queryFn:({queryKey:[,e]})=>C(`ethereum`,e),enabled:t(()=>!!e.value),...k()})}function M(e){return n({queryKey:[`crvusd-keepers-prices`,t(()=>[...new Set(e.value.map(e=>e.poolAddress))])],queryFn:async()=>{let t=e.value.map(async e=>{let t=e.pair.find(e=>e.symbol!==`crvUSD`),n=e.pair.find(e=>e.symbol===`crvUSD`);return!t||!n?[]:(await p(`ethereum`,e.poolAddress,t.address,n.address)).map(e=>({time:e.time,price:(e.high+e.low)/2,coin:t.symbol}))}),n=(await Promise.all(t)).flat().groupBy(e=>e.time.getTime()).entries().map(([e,t])=>({timestamp:Number(e)/1e3,...Object.fromEntries(t.map(e=>[e.coin,e.price]))}));return n.length>0?n:[{timestamp:0}]},initialData:[{timestamp:0}],initialDataUpdatedAt:0})}function N(){return n({queryKey:[`crvusd-markets`],queryFn:()=>S(`ethereum`,{page:1}),...k()})}function P(){return n({queryKey:[`crvusd-keepers`],queryFn:()=>T(`ethereum`),...k()})}function F(e,r){return n({queryKey:[`crvusd-user-markets`,t(()=>e.value),t(()=>r.value)],queryFn:({queryKey:[,e,t]})=>E(e,t),enabled:t(()=>!!e.value&&!!r.value),...k()})}function I(e,r,i){return n({queryKey:[`crvusd-user-market-snapshots`,t(()=>e.value),t(()=>r.value),t(()=>i.value)],queryFn:({queryKey:[,e,t,n]})=>D(e,t,n),enabled:t(()=>!!e.value&&!!r.value&&!!i.value),...k()})}function L(e,r,i,a){return n({queryKey:[`crvusd-user-market-events`,t(()=>e.value),t(()=>r.value),t(()=>i.value)],queryFn:({queryKey:[,e,t,n]})=>O(e,t,n),enabled:t(()=>!!e.value&&!!r.value&&!!i.value&&(a.value??!0))})}var R=e=>({user:e.user,first:u(e.first),last:u(e.last),debt:parseFloat(e.debt),health:parseFloat(e.health),healthFull:parseFloat(e.health_full),loss:parseFloat(e.loss),stablecoin:parseFloat(e.stablecoin),softLiquidation:e.soft_liquidation});async function z(e,t,n,r){return(await l(`${s(r)}/v1/crvusd/users/${e}/${t}/users${d(n)}`)).data.map(R)}function B(e,r){return n({queryKey:[`crvusd-market-all-users`,t(()=>e.value),t(()=>r.value)],queryFn:({queryKey:[,e,t]})=>z(e,t,{per_page:1e3}),enabled:t(()=>!!e.value&&!!r.value)})}function V(){return n({queryKey:[`crvusd-price-history`],queryFn:async()=>{let{start:e,end:t}=f({daysRange:90});return(await l(`https://prices.curve.finance/v1/usd_price/ethereum/${r}/history?interval=day&start=${e}&end=${t}`)).data.map(e=>({price:e.price,timestamp:u(e.timestamp)}))},initialData:[],initialDataUpdatedAt:0})}export{N as a,I as c,B as i,F as l,M as n,j as o,P as r,L as s,A as t,V as u};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.