# CompSupply

### Description

Supply a token to Compound.

> **Notes**
>
> If amount == type(uint256).max we are getting the whole balance of the user's wallet

### Action ID

`0x4ce56950`

### SDK Action

```ts
const compoundSupplyAction = new dfs.actions.compound.CompoundSupplyAction(
    cTokenAddr,
    amount,
    from,
    enableAsColl
);
```

### Action Type

`STANDARD_ACTION`

### Input Parameters

```solidity
    /// @param cTokenAddr Address of the cToken token to supply
    /// @param amount Amount of tokens to be supplied
    /// @param from Address where we are pulling the underlying tokens from
    /// @param enableAsColl If the supply asset should be collateral
    struct Params {
        address cTokenAddr;
        uint256 amount;
        address from;
        bool enableAsColl;
    }
```

### Return Value

```solidity
return bytes32(withdrawAmount);
```

### Events and Logs

```solidity
emit ActionEvent("CompSupply", logData);
logger.logActionDirectEvent("CompSupply", logData);
bytes memory logData = abi.encode(params);
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.defisaver.com/actions/compound/compsupply.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
