Punk Gateway

If you need to use CryptoPunks in the protocol, it must first be wrapped into WPUNKS. The WPUNKS Gateway contract is a helper contract to easily wrap and unwrap CryptoPunks as necessary when interacting with the protocol, since only ERC721 is used within protocol interactions.

Methods

borrow

function borrow( address reserveAsset, uint256 amount, uint256 punkIndex, address onBehalfOf, uint16 referralCode )

Allows users to borrow a specific amount of the ERC20 reserve underlying asset, provided that the borrower already own some CryptoPunks collaterals. E.g. User borrows 10000 USDC, receiving the 10000 USDC in his wallet and lock CryptoPunks collateral asset in contract.

Parameter NameTypeDescription

reserveAsset

address

The address of the underlying asset to borrow

amount

uint256

The amount to be borrowed. Units should decimals of underlying reserve

punkIndex

uint256

The index of the CryptoPunks used as collateral

OnBehalfOf

address

The address of the user who will receive the debtTokens and NFT loans representing the borrow

referralCode

uint16

referral code for our referral program. Use 0 for no referral

repay

function repay(uint256 punkIndex, uint256 amount)

Repays a borrowed amount on a specific punk, burning the equivalent loan owned. E.g. User repays 10000 USDC, burning loan and receives collateral asset.

Parameter NameTypeDescription

punkIndex

uint256

The index of the CryptoPunks used as collateral

amount

uint256

The amount to repay

auction

function auction(uint256 punkIndex, uint256 bidPrice, address onBehalfOf)

Auction a un-health punk loan with ERC20 reserve.

Parameter NameTypeDescription

punkIndex

uint256

The index of the CryptoPunks used as collateral

bidPrice

uint256

The bid price

onBehalfOf

address

The address of the user who will receive the CryptoPunks

redeem

function redeem(uint256 punkIndex, uint256 amount, uint256 bidFine)

Redeems a un-health CryptoPunks loan with ERC20 reserve.

Parameter NameTypeDescription

punkIndex

uint256

The index of the CryptoPunks used as collateral

amount

uint256

The amount of repaid debt

bidFine

uint256

The amount of bid fine

liquidate

function liquidate(uint256 punkIndex, uint256 amount)

Liquidates a un-health CryptoPunks loan with ERC20 reserve.

Parameter NameTypeDescription

punkIndex

uint256

The index of the CryptoPunks used as collateral

amount

uint256

The extra amount of repaid debt

borrowETH

function borrowETH( uint256 amount, uint256 punkIndex, address onBehalfOf, uint16 referralCode )

Allows users to borrow a specific amount of the native ETH, provided that the borrower already own some CryptoPunks collaterals. E.g. User borrows 100 ETH, receiving the 100 ETH in his wallet and lock CryptoPunks collateral asset in contract.

Parameter NameTypeDescription

amount

The amount to be borrowed. Units should be 18 decimals.

punkIndex

The index of the CryptoPunks used as collateral

onBehalfOf

The address of the user who will receive the debtTokens and NFT loans representing the borrow

referralCode

referral code for our referral program. Use 0 for no referral

repayETH

function repayETH(uint256 punkIndex, uint256 amount)

Repays a borrowed amount on a specific CryptoPunks with native ETH.

Parameter NameTypeDescription

punkIndex

uint256

The index of the CryptoPunks used as collateral

amount

uint256

The amount to repay

auctionETH

function auction(uint256 punkIndex, address onBehalfOf)

Auctions a un-health punk loan with native ETH.

Parameter NameTypeDescription

punkIndex

uint256

The index of the CryptoPunks used as collateral

onBehalfOf

address

The address of the user who will receive the CryptoPunks

redeemETH

function redeemETH(uint256 punkIndex, uint256 amount, uint256 bidFine)

Redeems a un-health punk loan with native ETH.

Parameter NameTypeDescription

punkIndex

uint256

The index of the CryptoPunks used as collateral

amount

uint256

The amount of repaid debt

bidFine

uint256

The amount of bid fine

liquidateETH

function liquidateETH(uint256 punkIndex, uint256 amount)

Liquidates a un-health punk loan with native ETH.

punkIndex

uint256

The index of the CryptoPunks used as collateral

amount

uint256

The extra amount of repaid debt

Last updated