Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature Request] Implementing more DeFi contracts in Move #70

Open
runtian-zhou opened this issue Feb 18, 2022 · 7 comments
Open

[Feature Request] Implementing more DeFi contracts in Move #70

runtian-zhou opened this issue Feb 18, 2022 · 7 comments
Labels
enhancement New feature or request

Comments

@runtian-zhou
Copy link
Contributor

🚀 Feature Request

Motivation

DeFi contracts are gaining lots of attention these days as they bring new innovation to the crypto and finance market. However, most of the smart contracts are written in solidity. It is important for us to see if we can implement something similar in Move and use this experience to access our gap to a wilder adoption of Move.

Pitch

Under experimental folder, we've already implemented a few interesting contracts, including a primitive token type and a simplified uniswap protocol. It would be nice if we can implement more code like this to access the usability of Move in the DeFi space.

If you would like to contribute, please refer to this [tutorial] to see how the basic-coin example is implemented and tested. This should offer you an overview of the developing flow of a Move package.

Here's a non-exhaustive list of DeFi contract that we might want to implement:

  • Compound
  • dydx
  • Uniswap
  • Oracle in Move?

Feel free to extend this list if there's any emerging new smart contracts.

@runtian-zhou runtian-zhou added the enhancement New feature or request label Feb 18, 2022
@DigtalFinanceAndWorld
Copy link

Great move! We are very much interested!
We are thinking of after implementing a few DeFi/NFT/Meta/Game projects, we can come up with an AutoMove Translator which can help porting Smart Contract DAPP projects from other blockchain eco-systems.

@sblackshear
Copy link
Contributor

sblackshear commented Feb 21, 2022

Would love to see these, especially if they include prover specs. Some other pointers I know of from StarCoin (and let me tag @lerencao @jolestar to see if there are more, as well as @mkurnikov from Pontem)

@jolestar
Copy link
Contributor

Great move! There are already some Defi projects implemented with Move, can we collect them in one repo or document? like awesome-move?

  1. Starswap a Uniswap like protocol implemented with Move on Starcoin
  2. Wenwen a stable coin implemented with Move on Starcoin
  3. FAI a stable coin implemented with Move on Starcoin
  4. FLY An OHM fork impletion in Move on Starcoin

@jolestar
Copy link
Contributor

  • All of the different instantiations of Coin<T> from Diem, StarCoin, 0L, and Pontem. There are some very different minting/burning/issuance properties implemented in these coins, and it would be great to have them (as well as some toy examples) all in one place. Assets are the building blocks of DeFi--devs need to know how to create assets with fixed supply, algorithmic issuance, etc before they can start lending, swapping, etc.

We need to find a way to share Move library between Move blockchain projects. I hope the Move project dependency like:


                                     ┌─────────────┐
                                     │Move Std lib │
                                     └─────────────┘


                         ┌─────────────┐          ┌───────────────────┐
                         │Move DeFi lib│          │Move Commons lib   │
                         └─────────────┘          └───────────────────┘



                                                                      ┌───────────────────────────────┐
                                                                      │ Move Chain independent lib    │
                                                                      └───────────────────────────────┘


┌───────────────────┐     ┌───────────────────┐    ┌───────────────────┐   ┌───────────────────┐
│ StarcoinFramework │     │ DiemFramework     │    │ 0lFramework       │   │ PontemFramework   │
└───────────────────┘     └───────────────────┘    └───────────────────┘   └───────────────────┘


Maybe we need to start a new issue to discuss this?

@sblackshear
Copy link
Contributor

Great move! There are already some Defi projects implemented with Move, can we collect them in one repo or document? like awesome-move?

Fantastic idea. We should have done something like this a long time ago.

Spent some time building out https://github.com/MystenLabs/awesome-move with your links and several others--please share and contribute!

@runtian-zhou
Copy link
Contributor Author

On package reorg, now that we have a packaging system, do you think we can get started by creating sub folders under experiment folder and have different crate relying on each other?

@jolestar
Copy link
Contributor

jolestar commented Mar 3, 2022

Maybe we need to start a new issue to discuss this?

I write an issue for this #91

sahithiacn added a commit to sahithiacn/move that referenced this issue Jan 2, 2023
bors-diem pushed a commit that referenced this issue Jan 2, 2023
bors-diem pushed a commit that referenced this issue Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants