# Constants

### WORD\_SIZE

```solidity
uint256 constant WORD_SIZE = 32;
```

### SELECTOR\_SIZE

```solidity
uint256 constant SELECTOR_SIZE = 4;
```

### MINIMUM\_CALLDATA\_LENGTH

```solidity
uint256 constant MINIMUM_CALLDATA_LENGTH = WORD_SIZE + SELECTOR_SIZE;
```

### CALLDATA\_OFFSET

```solidity
uint256 constant CALLDATA_OFFSET = MINIMUM_CALLDATA_LENGTH;
```

### ERC20\_SPENDER\_OFFSET

```solidity
uint256 constant ERC20_SPENDER_OFFSET = 36;
```

### ADDRESS\_SIZE\_BITS

```solidity
uint256 constant ADDRESS_SIZE_BITS = 160;
```

### BEFORE\_HOOK\_MASK

```solidity
uint256 constant BEFORE_HOOK_MASK = 1;
```

### AFTER\_HOOK\_MASK

```solidity
uint256 constant AFTER_HOOK_MASK = 2;
```

### HOOKS\_FLAG\_MASK

```solidity
uint256 constant HOOKS_FLAG_MASK = 0x80;
```

### CONFIGURABLE\_HOOKS\_LENGTH\_MASK

```solidity
uint256 constant CONFIGURABLE_HOOKS_LENGTH_MASK = 0x7F;
```

### MASK\_8\_BIT

```solidity
uint256 constant MASK_8_BIT = 0xff;
```

### MASK\_16\_BIT

```solidity
uint256 constant MASK_16_BIT = 0xffff;
```

### RESULTS\_INDEX\_OFFSET

```solidity
uint256 constant RESULTS_INDEX_OFFSET = 24;
```

### COPY\_WORD\_OFFSET

```solidity
uint256 constant COPY_WORD_OFFSET = 16;
```

### EXTRACT\_OFFSET\_SIZE\_BITS

```solidity
uint256 constant EXTRACT_OFFSET_SIZE_BITS = 16;
```

### EXTRACTION\_OFFSET\_SHIFT\_BITS

```solidity
uint256 constant EXTRACTION_OFFSET_SHIFT_BITS = 240;
```

### MAX\_EXTRACT\_OFFSETS\_EXCLUSIVE

*Maximum number of extraction offsets(16) + 1*

```solidity
uint256 constant MAX_EXTRACT_OFFSETS_EXCLUSIVE = 17;
```

### NO\_CALLBACK\_DATA

```solidity
uint16 constant NO_CALLBACK_DATA = type(uint16).max;
```

### SELECTOR\_OFFSET

```solidity
uint256 constant SELECTOR_OFFSET = 48;
```

### CALLBACK\_DATA\_OFFSET

```solidity
uint256 constant CALLBACK_DATA_OFFSET = 160;
```

### ONE\_IN\_BPS

```solidity
uint256 constant ONE_IN_BPS = 1e4;
```

### MAX\_TVL\_FEE

```solidity
uint256 constant MAX_TVL_FEE = 2000;
```

### MAX\_PERFORMANCE\_FEE

```solidity
uint256 constant MAX_PERFORMANCE_FEE = ONE_IN_BPS;
```

### SECONDS\_PER\_YEAR

```solidity
uint256 constant SECONDS_PER_YEAR = 365 days;
```

### MAX\_DISPUTE\_PERIOD

```solidity
uint256 constant MAX_DISPUTE_PERIOD = 30 days;
```

### UNIT\_PRICE\_PRECISION

*Precision for unit price calculations (18 decimals)*

```solidity
uint256 constant UNIT_PRICE_PRECISION = 1e18;
```

### ONE\_MINUTE

*One minute in seconds*

```solidity
uint256 constant ONE_MINUTE = 1 minutes;
```

### ONE\_DAY

*One day in seconds*

```solidity
uint256 constant ONE_DAY = 1 days;
```

### MIN\_DEPOSIT\_MULTIPLIER

*Minimum deposit multiplier 50%*

```solidity
uint256 constant MIN_DEPOSIT_MULTIPLIER = 5000;
```

### MIN\_REDEEM\_MULTIPLIER

*Minimum redeem multiplier 50%*

```solidity
uint256 constant MIN_REDEEM_MULTIPLIER = 5000;
```

### DEPOSIT\_REDEEM\_FLAG

*Deposit/Redeem flag in RequestType enum*

```solidity
uint256 constant DEPOSIT_REDEEM_FLAG = 1;
```

### AUTO\_PRICE\_FIXED\_PRICE\_FLAG

*Auto/Fixed price flag in RequestType enum*

```solidity
uint256 constant AUTO_PRICE_FIXED_PRICE_FLAG = 2;
```

### ONE\_UNIT

*One unit with 18 decimals*

```solidity
uint256 constant ONE_UNIT = 1e18;
```

### MAX\_SECONDS\_TO\_DEADLINE

*Maximum seconds between request deadline and current timestamp*

```solidity
uint256 constant MAX_SECONDS_TO_DEADLINE = 365 days;
```

### MAX\_DEPOSIT\_REFUND\_TIMEOUT

*Upper bound for depositRefundTimeout to prevent indefinite user lockout*

```solidity
uint256 constant MAX_DEPOSIT_REFUND_TIMEOUT = 30 days;
```

### IS\_WHITELISTED\_FLAG

*Whitelist flag in AddressToUintMap*

```solidity
uint8 constant IS_WHITELISTED_FLAG = 1;
```
