-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
152 additions
and
10,409 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
|
||
import Admonition from '@theme/Admonition'; | ||
|
||
# Register a DAO with FeeShare | ||
|
||
The [x/FeeShare module](https://docs.terra.money/develop/module-specifications/spec-feeshare) on the Terra blockchain allows smart contracts to receive a portion of the gas fees generated by interactions with the contract. For more information on this module, visit the [FeeShare spec](https://docs.terra.money/develop/module-specifications/spec-feeshare). To learn how to register a smart contract with feeshare, visit the [registration guide](https://docs.terra.money/develop/guides/register-feeshare/). | ||
|
||
To register a contract with the FeeShare module, DAOs will need to specify a contract they want to register and an address they want a portion of generated fees sent to called the Withdrawer address. Any fees generated by an interaction with the registered contract will be portioned and distributed to the Withdrawer address. | ||
|
||
Because the admin of an Enterprise DAO contract is the DAO itself, any address can be set as the Withdrawer address. This address could be the treasury address or any other address the DAO chooses. | ||
|
||
<Admonition type="danger" title="Setting a withdrawal address"> | ||
|
||
It is not recommended to use the distributor address as the withdrawal at this time as it does not distribute funds unless there's a `{"distribute":{}}` message included with the send. This will be remedied in the next update. | ||
|
||
</Admonition> | ||
|
||
|
||
## DAO registration guide | ||
|
||
Follow this guide to register your DAO's contracts with the FeeShare module. | ||
|
||
<Admonition type="tip" title="Registering each contract"> | ||
|
||
You will have to submit this proposal each time you want to register a contract for your DAO, including the DAO, distributor, and token contracts, as long as the DAO created the token or is the admin of the contract. A DAO can only register a contract it is the admin of. | ||
|
||
</Admonition> | ||
|
||
1. To register an Enterprise DAO with Terra's FeeShare module, you will need to locate the DAO’s contract addresses on the DAO’s home page. | ||
|
||
2. Create a new governance proposal by visiting the proposal tab and selecting **New Proposal**. | ||
|
||
<img | ||
className="readme-img-md" | ||
src="/img/screens/register1.png" | ||
/> | ||
|
||
3. Scroll down and select **Register an address for fee sharing**. Click **Next**. | ||
|
||
|
||
4. Enter a Title and description for your proposal. | ||
|
||
<img | ||
className="readme-img-md" | ||
src="/img/screens/register2.png" | ||
/> | ||
|
||
5. in the **Contract address** field, enter the address of the contract you want to be registered with the fee share module. | ||
|
||
6. In the **Withdrawer address** field, enter the address you want the generated share of fees to be sent to. | ||
|
||
Any fees generated by an interaction with the contract in the **Contract address** field will be portioned and distributed to the **Withdrawer address**. | ||
|
||
|
||
|
||
|
||
7. Press **Create** and sign the transaction. Your governance proposal will appear under the proposal tab. | ||
|
||
After successfully passing, you can click the **Execute** button on the proposal to execute the proposal, register your contract, and start earning a portion of fee revenue. | ||
|
||
|
Oops, something went wrong.