FluidVaultT1DeploymentLogic
Inherits:Error
State Variables
NATIVE_TOKEN
address internal constant NATIVE_TOKEN = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;
VAULT_T1_CREATIONCODE_ADDRESS
SSTORE2 pointer for the VaultT1 creation code. Stored externally to reduce factory bytecode
address public immutable VAULT_T1_CREATIONCODE_ADDRESS;
LIQUIDITY
address of liquidity contract
address public immutable LIQUIDITY;
ADMIN_IMPLEMENTATION
address of Admin implementation
address public immutable ADMIN_IMPLEMENTATION;
SECONDARY_IMPLEMENTATION
address of Secondary implementation
address public immutable SECONDARY_IMPLEMENTATION;
ADDRESS_THIS
address of this contract
address public immutable ADDRESS_THIS;
Functions
constructor
constructor(address liquidity_, address vaultAdminImplementation_, address vaultSecondaryImplementation_);
_calculateLiquidityVaultSlots
Calculates the liquidity vault slots for the given supply token, borrow token, and vault (vault_
).
function _calculateLiquidityVaultSlots(IFluidVaultT1.ConstantViews memory constants_, address vault_)
private
pure
returns (IFluidVaultT1.ConstantViews memory);
Parameters
Name | Type | Description |
---|---|---|
constants_ | IFluidVaultT1.ConstantViews | Constants struct as used in Vault T1 |
vault_ | address | The address of the vault. |
Returns
Name | Type | Description |
---|---|---|
<none> | IFluidVaultT1.ConstantViews | liquidityVaultSlots_ Returns the calculated liquidity vault slots set in the IFluidVaultT1.ConstantViews struct. |
vaultT1
Computes vaultT1 bytecode for the given supply token (supplyToken_
) and borrow token (borrowToken_
).
This will be called by the VaultFactory via .delegateCall
function vaultT1(address supplyToken_, address borrowToken_) external returns (bytes memory vaultCreationBytecode_);
Parameters
Name | Type | Description |
---|---|---|
supplyToken_ | address | The address of the supply token. |
borrowToken_ | address | The address of the borrow token. |
Returns
Name | Type | Description |
---|---|---|
vaultCreationBytecode_ | bytes | Returns the bytecode of the new vault to deploy. |
Events
VaultT1Deployed
Emitted when a new vaultT1 is deployed.
event VaultT1Deployed(address indexed vault, uint256 vaultId, address indexed supplyToken, address indexed borrowToken);
Parameters
Name | Type | Description |
---|---|---|
vault | address | The address of the newly deployed vault. |
vaultId | uint256 | The id of the newly deployed vault. |
supplyToken | address | The address of the supply token. |
borrowToken | address | The address of the borrow token. |