Skip to content
This repository has been archived by the owner on Dec 8, 2022. It is now read-only.

EXP - Review #133

Open
Reecepbcups opened this issue Jul 6, 2022 · 8 comments
Open

EXP - Review #133

Reecepbcups opened this issue Jul 6, 2022 · 8 comments
Assignees

Comments

@Reecepbcups
Copy link
Contributor

Reecepbcups commented Jul 6, 2022

Need guides on flow of commands, was not able to mint EXP in my test environment (go command cli panics, chain still operational)

proposal

when making the proposal, user needs to specify a vesting period for the EXP.
They can stake during this time, but can not burn it to the other asset until that time passes

craft tx exp burnexp [dao_member_address]

func NewMsgBurnAndRemoveMember(fromAddr sdk.AccAddress, metadata string) *MsgBurnAndRemoveMember {

  • This message burns the entire users EXP, when it should allow for a user to burn partial of their EXP.

Like so:
craft tx exp burnexp [dao_member_address] [exp_to_burn_amount]

What is the difference between "tx exp spend [coins]" & "tx exp fund [coins]" as 2 separate commands?

  • It seems spend [coins] should be the only command, and should do the "fund [coins]" logic all in 1 right?

craftd tx exp adjust [price]

  • So pricing is required to be done manually? What about a smart contract which queries the balances of DAO wallets, and returns the value in USD (coingeko, LP pools in osmo or something). Not sure how Luna did it, not my specialty yet

craft tx exp send [amount]

"send [amount] from module escrow to the DAO address" so the DAO has some EXP in a module account it uses for sending?

@Reecepbcups Reecepbcups changed the title EXP - Review (WIP) EXP - Review Jul 7, 2022
@vuong177 vuong177 self-assigned this Jul 7, 2022
@vuong177
Copy link
Contributor

vuong177 commented Jul 8, 2022

@Reecepbcups adjust is a temporary solution. I'm writing an oracle logic for query exp price. I have 2 proposal :

  • Using bandprotocol : Send a ibc packet to bandchain for request oracle.
  • Using terra module: using current terra oracle module for oracle.

@vuong177
Copy link
Contributor

vuong177 commented Jul 8, 2022

tx exp spend [coins] for user spend their coin for claim exp. For example:
now current exp price is 0.5usdc, they spend 1000 USDC, they will claim 2000 EXP.
Before they use this cmd, they need to create a gov for request and this gov passed. And amount of exp they mint need smaller than max_exp_mint in their proposal. Also they have a limit time to mint.

Token when a user spends to join DAO will go to exp module escrow instead of the DAO address.
craft tx exp send [amount] for sending token from exp module escrow to DAO address.

@vuong177
Copy link
Contributor

vuong177 commented Jul 8, 2022

proposal
when making the proposal, user needs to specify a vesting period for the EXP.
They can stake during this time, but can not burn it to the other asset until that time passes<

I think vesting period for the EXP is a chain-param for every user. Every DAO member have same vesting period for the EXP

@vuong177 vuong177 assigned vuong177 and unassigned vuong177 Jul 8, 2022
@Reecepbcups
Copy link
Contributor Author

Reecepbcups commented Jul 8, 2022

@vuong177

Token when a user spends to join DAO will go to exp module escrow instead of the DAO address. craft tx exp send [amount] for sending token from exp module escrow to DAO address.

So `tx exp spend [coins]` is really `tx exp exchange [coins]` where coins = some IBC asset, and in return they get EXP. Then the DAO will `craft tx exp send [amount]` to send those IBC tokens to a DAO controlled multisig wallet for example to stake / LP / do what ever with correct?

---

I think vesting period for the EXP is a chain-param for every user. Every DAO member have same vesting period for the EXP

Is that able to be specified in the proposal? where we mint the tokens to the user as vested for X amount of time? (the proposal can do it at a blockheight or ISO8061, whichever is easier)
or are you saying ALL have the same vesting period time with no way to change that param?

@vuong177
Copy link
Contributor

vuong177 commented Jul 8, 2022

This param could be change by a gov.

@vuong177
Copy link
Contributor

vuong177 commented Jul 8, 2022

Like unbonding time in staking.

@vuong177
Copy link
Contributor

vuong177 commented Jul 8, 2022

So tx exp spend [coins] is really tx exp exchange [coins] where coins = some IBC asset, and in return they get EXP. Then the DAO will craft tx exp send [amount] to send those IBC tokens to a DAO controlled multisig wallet for example to stake / LP / do what ever with correct?

Yes, this is logic in exp module. I think need to change cli for better readable.

@vuong177
Copy link
Contributor

vuong177 commented Aug 10, 2022

@Reecepbcups, I think oracle exp has been done. I created an ibc-channel between craft-testnet <-> bandchain, and it worked well. If you want to test more, I can provide an RPC for this testnet.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants