Skip to content

FluidVaultT1DeploymentLogic ​

Git Source

Inherits:Error

State Variables ​

NATIVE_TOKEN ​

solidity
address internal constant NATIVE_TOKEN = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE;

VAULT_T1_CREATIONCODE_ADDRESS_1 ​

SSTORE2 pointer for the VaultT1 creation code. Stored externally to reduce factory bytecode (in 2 parts)

solidity
address internal immutable VAULT_T1_CREATIONCODE_ADDRESS_1;

VAULT_T1_CREATIONCODE_ADDRESS_2 ​

solidity
address internal immutable VAULT_T1_CREATIONCODE_ADDRESS_2;

LIQUIDITY ​

address of liquidity contract

solidity
address public immutable LIQUIDITY;

ADMIN_IMPLEMENTATION ​

address of Admin implementation

solidity
address public immutable ADMIN_IMPLEMENTATION;

SECONDARY_IMPLEMENTATION ​

address of Secondary implementation

solidity
address public immutable SECONDARY_IMPLEMENTATION;

ADDRESS_THIS ​

address of this contract

solidity
address public immutable ADDRESS_THIS;

Functions ​

constructor ​

solidity
constructor(address liquidity_, address vaultAdminImplementation_, address vaultSecondaryImplementation_);

vaultT1 ​

Computes vaultT1 bytecode for the given supply token (supplyToken_) and borrow token (borrowToken_). This will be called by the VaultFactory via .delegateCall

solidity
function vaultT1(address supplyToken_, address borrowToken_) external returns (bytes memory vaultCreationBytecode_);

Parameters

NameTypeDescription
supplyToken_addressThe address of the supply token.
borrowToken_addressThe address of the borrow token.

Returns

NameTypeDescription
vaultCreationBytecode_bytesReturns the bytecode of the new vault to deploy.

vaultT1CreationBytecode ​

returns the stored VaultT1 creation bytecode

solidity
function vaultT1CreationBytecode() public view returns (bytes memory);

_calculateLiquidityVaultSlots ​

Calculates the liquidity vault slots for the given supply token, borrow token, and vault (vault_).

solidity
function _calculateLiquidityVaultSlots(IFluidVaultT1.ConstantViews memory constants_, address vault_)
    private
    pure
    returns (IFluidVaultT1.ConstantViews memory);

Parameters

NameTypeDescription
constants_IFluidVaultT1.ConstantViewsConstants struct as used in Vault T1
vault_addressThe address of the vault.

Returns

NameTypeDescription
<none>IFluidVaultT1.ConstantViewsliquidityVaultSlots_ Returns the calculated liquidity vault slots set in the IFluidVaultT1.ConstantViews struct.

_bytesConcat ​

solidity
function _bytesConcat(bytes memory _preBytes, bytes memory _postBytes) private pure returns (bytes memory);

_bytesSlice ​

solidity
function _bytesSlice(bytes memory _bytes, uint256 _start, uint256 _length) private pure returns (bytes memory);

Events ​

VaultT1Deployed ​

Emitted when a new vaultT1 is deployed.

solidity
event VaultT1Deployed(address indexed vault, uint256 vaultId, address indexed supplyToken, address indexed borrowToken);

Parameters

NameTypeDescription
vaultaddressThe address of the newly deployed vault.
vaultIduint256The id of the newly deployed vault.
supplyTokenaddressThe address of the supply token.
borrowTokenaddressThe address of the borrow token.