# StakeableTokenWrapper

A wrapper for an ERC-20 that can be staked and withdrawn.

In this contract, staked tokens don't do anything- instead other contracts can inherit from this one to add functionality. / c

## Functions:

* [`constructor(contract IERC20 _stakedToken)`](https://docs.mune.finance/solidity-docs/broken-reference)
* [`balanceOf(address account)`](https://docs.mune.finance/solidity-docs/broken-reference)
* [`stake(uint256 amount)`](https://docs.mune.finance/solidity-docs/broken-reference)
* [`withdraw(uint256 amount)`](https://docs.mune.finance/solidity-docs/broken-reference)

## Events:

* [`Staked(address user, uint256 amount)`](https://docs.mune.finance/solidity-docs/broken-reference)
* [`Withdrawn(address user, uint256 amount)`](https://docs.mune.finance/solidity-docs/broken-reference)

## Function `constructor(contract IERC20 _stakedToken)`

Creates a new StakeableTokenWrapper with given `_stakedToken` address

### Parameters:

* `_stakedToken`: address of a token that will be used to stake

  /

## Function `balanceOf(address account) → uint256`

Read how much `account` has staked in this contract

### Parameters:

* `account`: address of an account

### Return Values:

* amount of total staked ERC20(this.stakedToken) by `account`

  /

## Function `stake(uint256 amount)`

Stakes given `amount` in this contract

### Parameters:

* `amount`: amount of ERC20(this.stakedToken) to stake

  /

## Function `withdraw(uint256 amount)`

Withdraws given `amount` from this contract

### Parameters:

* `amount`: amount of ERC20(this.stakedToken) to withdraw

  /

## Event `Staked(address user, uint256 amount)`

No description

## Event `Withdrawn(address user, uint256 amount)`

No description


---

# 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.mune.finance/solidity-docs/stakeabletokenwrapper.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.
