Hooks

Git Sourcearrow-up-right

This library contains functions that should be used to interact with hooks

State Variables

BEFORE_SWAP_FLAG

bytes32 internal constant BEFORE_SWAP_FLAG = bytes32(uint256(1 << 160));

AFTER_SWAP_FLAG

bytes32 internal constant AFTER_SWAP_FLAG = bytes32(uint256(1 << 161));

BEFORE_FLASH_LOAN_FLAG

bytes32 internal constant BEFORE_FLASH_LOAN_FLAG = bytes32(uint256(1 << 162));

AFTER_FLASH_LOAN_FLAG

bytes32 internal constant AFTER_FLASH_LOAN_FLAG = bytes32(uint256(1 << 163));

BEFORE_MINT_FLAG

bytes32 internal constant BEFORE_MINT_FLAG = bytes32(uint256(1 << 164));

AFTER_MINT_FLAG

BEFORE_BURN_FLAG

AFTER_BURN_FLAG

BEFORE_TRANSFER_FLAG

AFTER_TRANSFER_FLAG

Functions

encode

Helper function to encode the hooks parameters to a single bytes32 value

Parameters

Name
Type
Description

parameters

Parameters

The hooks parameters

Returns

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

decode

Helper function to decode the hooks parameters from a single bytes32 value

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

Returns

Name
Type
Description

parameters

Parameters

The hooks parameters

getHooks

Helper function to get the hooks address from the encoded hooks parameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

Returns

Name
Type
Description

hooks

address

The hooks address

setHooks

Helper function to set the hooks address in the encoded hooks parameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

newHooks

address

The new hooks address

Returns

Name
Type
Description

<none>

bytes32

hooksParameters The updated hooks parameters

getFlags

Helper function to get the flags from the encoded hooks parameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

Returns

Name
Type
Description

flags

bytes12

The flags

onHooksSet

Helper function call the onHooksSet function on the hooks contract, only if the hooksParameters is not 0

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

onHooksSetData

bytes

The data to pass to the onHooksSet function

beforeSwap

Helper function to call the beforeSwap function on the hooks contract, only if the BEFORE_SWAP_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

to

address

The recipient

swapForY

bool

Whether the swap is for Y

amountsIn

bytes32

The amounts in

afterSwap

Helper function to call the afterSwap function on the hooks contract, only if the AFTER_SWAP_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

to

address

The recipient

swapForY

bool

Whether the swap is for Y

amountsOut

bytes32

The amounts out

beforeFlashLoan

Helper function to call the beforeFlashLoan function on the hooks contract, only if the BEFORE_FLASH_LOAN_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

to

address

The recipient

amounts

bytes32

The amounts

afterFlashLoan

Helper function to call the afterFlashLoan function on the hooks contract, only if the AFTER_FLASH_LOAN_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

to

address

The recipient

fees

bytes32

The fees

feesReceived

bytes32

The fees received

beforeMint

Helper function to call the beforeMint function on the hooks contract, only if the BEFORE_MINT_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

to

address

The recipient

liquidityConfigs

bytes32[]

The liquidity configs

amountsReceived

bytes32

The amounts received

afterMint

Helper function to call the afterMint function on the hooks contract, only if the AFTER_MINT_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

to

address

The recipient

liquidityConfigs

bytes32[]

The liquidity configs

amountsIn

bytes32

The amounts in

beforeBurn

Helper function to call the beforeBurn function on the hooks contract, only if the BEFORE_BURN_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

from

address

The sender

to

address

The recipient

ids

uint256[]

The ids

amountsToBurn

uint256[]

The amounts to burn

afterBurn

Helper function to call the afterBurn function on the hooks contract, only if the AFTER_BURN_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

from

address

The sender

to

address

The recipient

ids

uint256[]

The ids

amountsToBurn

uint256[]

The amounts to burn

beforeBatchTransferFrom

Helper function to call the beforeTransferFrom function on the hooks contract, only if the BEFORE_TRANSFER_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

from

address

The sender

to

address

The recipient

ids

uint256[]

The list of ids

amounts

uint256[]

The list of amounts

afterBatchTransferFrom

Helper function to call the afterTransferFrom function on the hooks contract, only if the AFTER_TRANSFER_FLAG is set in the hooksParameters

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

sender

address

The sender

from

address

The sender

to

address

The recipient

ids

uint256[]

The list of ids

amounts

uint256[]

The list of amounts

_safeCall

Helper function to call the hooks contract and verify the call was successful by matching the expected selector with the returned data

Parameters

Name
Type
Description

hooksParameters

bytes32

The encoded hooks parameters

data

bytes

The data to pass to the hooks contract

Errors

Hooks__CallFailed

Structs

Parameters

Last updated