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.
The source code can be found here, with the latest deployed address listed in the Deployed Contracts.

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 Name
Type
Description
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 Name
Type
Description
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 Name
Type
Description
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 Name
Type
Description
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 Name
Type
Description
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 Name
Type
Description
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 Name
Type
Description
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 Name
Type
Description
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 Name
Type
Description
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
Copy link
On this page
Methods
borrow
repay
auction
redeem
liquidate
borrowETH
repayETH
auctionETH
redeemETH
liquidateETH