IFluidWalletFactory ​
WALLET_PROXY ​
function WALLET_PROXY() external view returns (address)
InstaFlashReceiverInterface ​
executeOperation ​
function executeOperation(address[] assets, uint256[] amounts, uint256[] premiums, address initiator, bytes _data) external returns (bool)
FluidWalletVariables ​
VERSION ​
string VERSION
ETH_ADDRESS ​
address ETH_ADDRESS
X32 ​
uint256 X32
VAULT_FACTORY ​
address VAULT_FACTORY
FLUID_WALLET_FACTORY ​
address FLUID_WALLET_FACTORY
owner ​
address owner
owner address of this wallet. It is initialized while deploying the wallet for the user.
_transientAllowHash ​
bytes32 _transientAllowHash
transient allow hash used to signal allowing certain entry into methods such as executeOperation etc.
_resetTransientStorage ​
function _resetTransientStorage() internal
FluidWalletErrorsAndEvents ​
FluidWallet__NotAllowed ​
error FluidWallet__NotAllowed()
FluidWallet__ToHexDigit ​
error FluidWallet__ToHexDigit()
FluidWallet__Unauthorized ​
error FluidWallet__Unauthorized()
Executed ​
event Executed(address owner, uint256 tokenId)
ExecutedCast ​
event ExecutedCast(address owner)
Action ​
struct Action {
address target;
bytes data;
uint256 value;
uint8 operation;
}
FluidWalletImplementation ​
constructor ​
constructor(address vaultFactory_, address fluidWalletFactory_) public
onERC721Received ​
function onERC721Received(address operator_, address from_, uint256 tokenId_, bytes data_) external returns (bytes4)
_ERC721 callback used Fluid Vault Factory and executes actions encoded in data_
Caller should be Fluid Wallet Factory._
Parameters ​
Name | Type | Description |
---|---|---|
operator_ | address | operator_ caller to transfer the the given token ID |
from_ | address | from_ previous owner of the given token ID |
tokenId_ | uint256 | tokenId_ id of the ERC721 |
data_ | bytes | data bytes containing the abi.encoded() actions that are executed like in Action[] & owner |
cast ​
function cast(struct FluidWalletErrorsAndEvents.Action[] actions_) public
executeOperation ​
function executeOperation(address[], uint256[], uint256[], address initiator_, bytes data_) external returns (bool)
Parameters ​
Name | Type | Description |
---|---|---|
address[] | ||
uint256[] | ||
uint256[] | ||
initiator_ | address | flashloan initiator -> must be this contract |
data_ | bytes | data bytes containing the abi.encoded() actions that are executed like in CastParams.actions |
_calculateStorageSlotUintMapping ​
function _calculateStorageSlotUintMapping(uint256 slot_, uint256 key_) internal pure returns (bytes32)
Calculating the slot ID for Liquidity contract for single mapping
VaultConstants ​
struct VaultConstants {
address supplyToken0;
address supplyToken1;
address borrowToken0;
address borrowToken1;
}
_sweepTokens ​
function _sweepTokens(address owner_, uint256 tokenId_) internal
_getVaultConstants ​
function _getVaultConstants(address vault_) internal view returns (struct FluidWalletImplementation.VaultConstants constants_)
_flushTokens ​
function _flushTokens(address token_, address owner_) internal
_validateOwner ​
function _validateOwner(address owner_) internal view
validate owner
by recomputing fluid address.
_executeActions ​
function _executeActions(struct FluidWalletErrorsAndEvents.Action[] actions_) internal
_executes actions_
with respective target, calldata, operation etc._
_handleActionFailure ​
function _handleActionFailure(uint256 i_, bytes result_) internal pure
_handles failure of an action execution depending on error cause, decoding and reverting with result_
as reason string._
REVERT_REASON_MAX_LENGTH ​
uint256 REVERT_REASON_MAX_LENGTH
_getRevertReasonFromReturnedData ​
function _getRevertReasonFromReturnedData(bytes returnedData_) internal pure returns (string reason_)
Get the revert reason from the returnedData (supports Panic, Error & Custom Errors). Based on https://github.com/superfluid-finance/protocol-monorepo/blob/dev/packages/ethereum-contracts/contracts/libs/CallUtils.sol This is needed in order to provide some human-readable revert message from a call.
Parameters ​
Name | Type | Description |
---|---|---|
returnedData_ | bytes | revert data of the call |
Return Values ​
Name | Type | Description |
---|---|---|
reason_ | string | revert reason |
_toHexDigit ​
function _toHexDigit(uint8 d) internal pure returns (bytes1)
used to convert bytes4 selector to string