Skip to main content

contracts/handlers/puffer-vault-handler

Classes

PufferVaultHandler

Handler for the PufferVaultV2 contract exposing methods to interact with the contract.

Constructors

new PufferVaultHandler()

new PufferVaultHandler(chain, walletClient, publicClient): PufferVaultHandler

Create the handler for the PufferVaultV2 contract exposing methods to interact with the contract.

Parameters
ParameterTypeDescription
chainChainChain to use for the client.
walletClientobjectThe wallet client to use for wallet interactions.
publicClientobjectThe public client to use for public interactions.
Returns

PufferVaultHandler

Source

lib/contracts/handlers/puffer-vault-handler.ts:29

Properties

PropertyModifierTypeDescription
chainprivateChainChain to use for the client.
publicClientprivateobjectThe public client to use for public interactions.
viemChainprivateChain-
walletClientprivateobjectThe wallet client to use for wallet interactions.

Methods

balanceOf()

balanceOf(walletAddress): Promise<bigint>

Check the pufETH balance of the wallet.

Parameters
ParameterTypeDescription
walletAddress`0x${string}`Wallet address to check the balance of.
Returns

Promise<bigint>

pufETH balance in wei.

Source

lib/contracts/handlers/puffer-vault-handler.ts:89

convertToAssets()

convertToAssets(amount): Promise<bigint>

Gives exchange rate of pufETH relative to WETH. This does not include any fees, as compared to previewRedeem method.

Parameters
ParameterTypeDescription
amountbigintAmount of pufETH to convert.
Returns

Promise<bigint>

Amount of equivalent WETH.

Source

lib/contracts/handlers/puffer-vault-handler.ts:246

depositETH()

depositETH(walletAddress): object

Deposit ETH in exchange for pufETH. This doesn't make the transaction but returns two methods namely transact and estimate.

Parameters
ParameterTypeDescription
walletAddress`0x${string}`Wallet address to get the ETH from.
Returns

object

transact: (value: bigint) => Promise<Address> - Used to make the transaction with the given value.

estimate: () => Promise<bigint> - Gas estimate of the transaction.

estimate()

estimate: () => Promise<bigint>

Returns

Promise<bigint>

transact()

transact: (value) => Promise<`0x${string}`>

Parameters
ParameterType
valuebigint
Returns

Promise<`0x${string}`>

Source

lib/contracts/handlers/puffer-vault-handler.ts:67

getAllowance()

getAllowance(ownerAddress, spenderAddress): Promise<bigint>

Get the allowance for the given owner and spender.

Parameters
ParameterTypeDescription
ownerAddress`0x${string}`Address of the owner.
spenderAddress`0x${string}`Address of the spender.
Returns

Promise<bigint>

Allowance for the given owner and spender.

Source

lib/contracts/handlers/puffer-vault-handler.ts:110

getContract()

getContract(): object

Get the contract. This is a method because the typings are complex and lost when trying to make it a member.

Returns

object

The viem contract.

Source

lib/contracts/handlers/puffer-vault-handler.ts:43

getExitFeeBasisPoints()

getExitFeeBasisPoints(): Promise<bigint>

Returns how many basis points of a fee there are when exiting. For example, a 1% fee would mean 1% of the user's requested pufETH is burned (which increases the value for all pufETH holders) before the ETH is redeemed. i.e., you get 1% less ETH back.

Returns

Promise<bigint>

Basis points of the exit fee.

Source

lib/contracts/handlers/puffer-vault-handler.ts:186

getPufETHRate()

getPufETHRate(): Promise<bigint>

Get the rate of pufETH compared to ETH.

Returns

Promise<bigint>

Rate of pufETH compared to 1 ETH.

Source

lib/contracts/handlers/puffer-vault-handler.ts:98

getRemainingAssetsDailyWithdrawalLimit()

getRemainingAssetsDailyWithdrawalLimit(): Promise<bigint>

Returns how much WETH can still be withdrawn today.

Returns

Promise<bigint>

Remaining WETH daily withdrawal limit.

Source

lib/contracts/handlers/puffer-vault-handler.ts:195

maxRedeem()

maxRedeem(ownerAddress): Promise<bigint>

Calculates the maximum amount of pufETH shares that can be redeemed by the owner.

Parameters
ParameterTypeDescription
ownerAddress`0x${string}`Address of the owner's wallet.
Returns

Promise<bigint>

Maximum amount of pufETH shares that can be redeemed.

Source

lib/contracts/handlers/puffer-vault-handler.ts:174

previewRedeem()

previewRedeem(value): Promise<bigint>

Preview the amount of WETH that can be redeemed for the given amount of pufETH using the .redeem() method.

Parameters
ParameterTypeDescription
valuebigintValue of pufETH to redeem.
Returns

Promise<bigint>

Preview of the amount of WETH that can be redeemed.

Source

lib/contracts/handlers/puffer-vault-handler.ts:163

redeem()

redeem(ownerAddress, receiverAddress, shares): object

Redeems pufETH shares in exchange for WETH assets from the vault. In the process, the pufETH shares of the owner are burned. This doesn't make the transaction but returns two methods namely transact and estimate.

Parameters
ParameterTypeDescription
ownerAddress`0x${string}`Address of the owner of pufETH.
receiverAddress`0x${string}`Address of the receiver of WETH.
sharesbigintAmount of pufETH shares to redeem.
Returns

object

transact: (value: bigint) => Promise<Address> - Used to make the transaction with the given value.

estimate: () => Promise<bigint> - Gas estimate of the transaction.

estimate()

estimate: () => Promise<bigint>

Returns

Promise<bigint>

transact()

transact: () => Promise<`0x${string}`>

Returns

Promise<`0x${string}`>

Source

lib/contracts/handlers/puffer-vault-handler.ts:214

withdraw()

withdraw(ownerAddress, walletAddress, value): object

Withdraw pufETH to the given wallet address. This doesn't make the transaction but returns two methods namely transact and estimate.

Parameters
ParameterTypeDescription
ownerAddress`0x${string}`Address of the owner.
walletAddress`0x${string}`Address of the receiver.
valuebigintValue of pufETH to withdraw.
Returns

object

transact: (value: bigint) => Promise<Address> - Used to make the transaction with the given value.

estimate: () => Promise<bigint> - Gas estimate of the transaction.

estimate()

estimate: () => Promise<bigint>

Returns

Promise<bigint>

transact()

transact: () => Promise<`0x${string}`>

Returns

Promise<`0x${string}`>

Source

lib/contracts/handlers/puffer-vault-handler.ts:131