Auction Module

The Auction module provides functionality for participating in auctions for NFT collateral.

Auction flow

Types

Signature

export type Signature = {
  data: object
  signature: { v: number; r: string; s: string; deadline: number }
}

/* data object
interface SignAuction {
  loan: SignLoanConfig;
  assets: string[];
  assetPrice: BigInt;
  assetLtv: BigInt;
  endTime: BigInt;
  nonce: BigInt;
  deadline: BigInt;
}

interface SignLoanConfig {
  loanId: string;
  aggLoanPrice: BigInt;
  aggLtv: BigInt;
  aggLiquidationThreshold: BigInt;
  totalAssets: BigInt;
  nonce: BigInt;
  deadline: BigInt;
}
*/

ClientOptions

export type ClientOptions = {
  network?: Chain
}

export type Chain = 'mainnet' | 'sepolia' | 'localhost'

Functions

Placing a Bid

To place a bid in an auction, use the bid function from the auction module:

export const bid = async (
        amountToPay: BigInt, 
        amountOfDebt: BigInt, 
        signature: Signature, 
        options?: ClientOptions
    )
const result = await bid(amountToPay, amountOfDebt, signature, options?);

Redeeming an Auction

To redeem an auction, use the redeem function from the auction module:

export const redeem = async (
        signature: Signature, 
        options?: ClientOptions
    )
const result = await redeem(signature, options?);

Finalizing an Auction

To finalize an auction, use the finalize function from the auction module:

export const finalize = async (
        claimOnUWallet: boolean,
        orderId: string,
        signature: Signature,
        options?: ClientOptions
    )
const result = await finalize(claimOnUWallet, orderId, signature, options?);


Refer to the Auction Module documentation for more details on the bid, redeem andfinalizefunctions.

Last updated