# Auction Module

<figure><img src="https://2398861552-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FBIiwmyAPmsS6IKhOGacE%2Fuploads%2FAp7d2HVaYLaL2lXAprFV%2Fauction%20(2).jpg?alt=media&#x26;token=1d3e902f-fea6-4175-abde-5196aa76c174" alt=""><figcaption><p>Auction flow</p></figcaption></figure>

## Types

### Signature

```typescript
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

```typescript
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:

```typescript
export const bid = async (
        amountToPay: BigInt, 
        amountOfDebt: BigInt, 
        signature: Signature, 
        options?: ClientOptions
    )
```

```typescript
const result = await bid(amountToPay, amountOfDebt, signature, options?);
```

### Redeeming an Auction

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

```typescript
export const redeem = async (
        signature: Signature, 
        options?: ClientOptions
    )
```

```typescript
const result = await redeem(signature, options?);
```

### Finalizing an Auction

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

```typescript
export const finalize = async (
        claimOnUWallet: boolean,
        orderId: string,
        signature: Signature,
        options?: ClientOptions
    )
```

```typescript
const result = await finalize(claimOnUWallet, orderId, signature, options?);
```

***

Refer to the Auction Module documentation for more details on the `bid`, `redeem` and`finalize`functions.
