[Code4rena] Papr

0xDave·2022년 12월 20일
0

Ethereum

목록 보기
77/112
post-thumbnail

Papr facilitates NFT-backed loans. Borrowers deposit allowlisted NFT collateral and mint papr, which can then be exchanged on Uniswap for some other asset. Papr interest rates and the papr trading price are in a constant feedback loop.


Scope


FileSLOCDescription and CoverageLibraries
Contracts (5)
src/PaprToken.sol23Simple ERC20 token that can be minted and burned by its deployer.,   100.00%solmate/*
src/NFTEDA/extensions/NFTEDAStarterIncentive.sol44Instance of NFTEDA that offers an auction discount to the starter of the auction.,   70.00%solmate/*
src/ReservoirOracleUnderwriter.sol 🧮 🔖79Validates and unpacks oracles messages from Reservoir.,   75.00%solmate/* @reservoir/*
src/UniswapOracleFundingRateController.sol110Source of Target and Mark values. Updates Target based on how the papr:underlying pool is trading on Uniswap.,   100.00%solmate/*
src/PaprController.sol 📤 🌀 Σ402Inherits NFTEDAStarterIncentive, UniswapOracleFundingRateController, and ReservoirOracleUnderwriter. Facilitates deposit and withdrawal of NFTs, minting and burning of papr, and liquidation auctions.,   95.33%solmate/* openzeppelin-contracts/* solady/*
Abstracts (1)
src/NFTEDA/NFTEDA.sol 🧮73(NFT Exponential Decay Auction) Facilitates exponential price decay Dutch auctions for NFTs.,   95.65%solmate/*
Libraries (4)
src/NFTEDA/libraries/EDAPrice.sol18A library for computing the current price of an exponential price decay auction.,   0.00%solmate/* v3-core/*
src/libraries/PoolAddress.sol 🧮30Library taken from Uniswap/v3-periphery with a single line change for solc >= 0.8.0 compatibility.,   0.00%
src/libraries/OracleLibrary.sol Σ47Library with various oracle methods, all adapted from Uniswap/v3-periphery/OracleLibrary.,   0.00%v3-core/* fullrange/*
src/libraries/UniswapHelpers.sol65Library with various helpers for interacting with Uniswap v3.,   44.44%v3-core/* fullrange/*
Interfaces (4)
src/interfaces/IUniswapOracleFundingRateController.sol8-
src/interfaces/IFundingRateController.sol17-solmate/*
src/NFTEDA/interfaces/INFTEDA.sol28-solmate/*
src/interfaces/IPaprController.sol99-solmate/*
Total (over 14 files):104383.33%

Overview


borrower는 NFT를 담보로 papr 토큰을 민팅할 수 있다. 민팅한 papr을 DEX에 팔 수도 있다. papr 토큰은 perpetual APR의 줄임말로 토큰의 가격에 따라 이자율과 apr이 달라진다. 이자율이 올라간다면 borrower가 papr을 구매해야 하는 압력이 놉아져 papr의 가격은 올라가고, 이자율이 낮아진다면 사람들이 더 많은 NFT를 담보로 papr을 민팅해서 시장에 파는 매도 압력이 높아지기 때문에 papr의 가격은 내려갈 것이다.


후기


이번 콘테스트에서는 유효한 결함을 찾지 못했다. 현재 내가 찾을 수 있는 결함의 범위가 매우 좁다는 것을 느꼈다. 최근 들어 콘테스트가 쏟아지면서 레포트 읽는 빈도가 줄어들었다. 초반에는 콘테스트 참가와 레포트 읽는 것이 1:1이었다면 최근에는 2:1로 콘테스트 참가가 더 많아졌다. 이제 더 많은 결함을 발견하고 내 시야를 넓히기 위해서 1:2 비율로 변경하려고 한다. 그동안 못했던 All about ethereum 글도 읽으면서 본질적인 실력을 쌓아야겠다.

profile
Just BUIDL :)

0개의 댓글