# EcoPot

EcoPot plan contract to be paid to staking users. One token can be distributed per Ecopot project, and only authorized operators can plan and proceed.

## Address

Contract adress after production is deployed (scope link)&#x20;

## Events, Read-Only Functions, and State-Changing Functions&#x20;

{% tabs %}
{% tab title="Events" %}

## Events

**Initialized**

```solidity
event Initialized(uint totalAmount, uint amountPerBlock, uint distributableBlock, uint estimateEndBlock);
```

* Event log of Ecopot initialized
* Parameters
  * `totalAmount` : Amount of tokens to be distribute &#x20;
  * `amountPerBlock` : Amount of tokens to be distributed per block
  * `distributableBlock` : Start Block number
  * `estimateEndBlock` : Estimate block number of EcoPot be ended

**Deposit**

```solidity
event Deposit(uint amount, uint totalAmount, uint estimateEndBlock);
```

* Event log of tokens deposit
* Parameters
  * `amount` : Deposit token amount
  * `totalAmount` : Deposit token total amount
  * `estimateEndBlock` :  Estimate block number of EcoPot be ended

**Removed**

```solidity
event Removed(address operator, address token, uint estimateEndBlock, uint remainedBalance);
```

* Event log of Ecopot removed
* Parameters
  * `operator` : Operator address
  * `token` : Token address of distributed
  * `estimateEndBlock` : Estimate block number of EcoPot be ended
  * `remainedBalance` : Token amount of remained

**ChangeAvailable**

```solidity
event ChangeAvailable(bool b);
```

* Event log of state changed

**GiveReward**

```solidity
event GiveReward(address user, uint amount, uint currentIndex, uint userRewardSum);
```

* Event log of when reward is claimed
* Parameters
  * `user` : User address
  * `amount` : Amount of token claimed
  * `currentIndex`:  Index result of the Ecopot of the wallet after claiming&#x20;
  * `userRewardSum` :  Amount of KSP that has been accrued so far
    {% endtab %}

{% tab title="Read-Only Functions" %}

## Read-Only Functions

#### name

* EcoPot Project name

#### decimals

* 18

#### token

* KIP7 token address

**totalAmount**

* Amount of tokens to be distribute

#### getDistributedCurrent

* Amount of tokens distributed

#### distributableBlock

* Block number to distribute start

#### estimateEndBlock

* Estimate block number of EcoPot be ended

**amountPerBlock**

* 블럭당 배분되는 Token 수량

**isAvailable**

* Returns if the EcoPot is availabled

**userRewardSum**

* mapping(address => uint)
* EcoPot reward amount by each user address
  {% endtab %}
  {% endtabs %}


---

# 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.klayswap.com/developers/contract/ecopot.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.
