Skip to content

lopeselio/ETH-cc-Celo

Repository files navigation

⚡ LightningCelo ⚡ 🌱

LINK TO DECK: LINK TO THE DECK

Developed by Elio Jordan Lopes and Ramesh Sachan

Enabling your $cUSD to flow like the river in real time. Let's make money more beautiful than ever.

Logo

View the project demo on YouTube

How to run locally

  1. Navigate to interface in your terminal using cd interface

  2. yarn && yarn dev

Our contracts have been deployed to Celo Alfajores Testnet

Celo Alfajores Testnet 0x671580C2d0e99Bb17690B5D4D805F1902d26f5b0

Imagine your cUSD on steroids

image image image

How can we help?

image

Description

  • Stream cUSD from one wallet to another in real time
  • You can connect your wallet to the platfrom running on Celo Alfajores Network.
  • You can view an ongoing recurring stream by referencing to the created streamID else you can create a new stream.
  • To start the stream, you have to enter:
    • The receipient's wallet address
    • The token that you want to stream. For now we enable cUSD flows on Alfajores Testnetwork
    • The amount of token you want to stream (say: 10cUSD)
    • The time you want the stream to end. Let's say you start the stream at x seconds. You choose a time interval of x+T for the stream to end, where both x and T can be measured in seconds and can amount to minutes, hours, days, weeks, months, years, and even centuries.
    • The token stream would be live for T duration of time
    • The platform also displays the total number of token streamed and the amount of tokens remaining for withdrawal in real time.
    • If y is the total number of tokens to be streamed, then you can withdraw a certain amount of token, let's say x tokens out y at a time, and then, another z amount of tokens out of the remaining y-x tokens. Tokens here refers to $cUSD on Alfajores Test Network.
    • Once the stream ends, the entire token is to be withdrawn to the receipients wallet, and then the platform would redirect you to create a new stream.

Technical specs

A money stream has six properties:

  1. Sender.
  2. Recipient.
  3. Fixed deposit amount.
  4. ERC-20 token used as streaming currency.
  5. Start time
  6. Stop Time

A. Smart Contract Deployed to Celo Alfajores Testnet 0x671580C2d0e99Bb17690B5D4D805F1902d26f5b0 Screenshot 2022-06-24 at 11 25 29 PM

B. We use Celo Contract Kit and Truffle to deploy our contracts to Celo Alfajores testnet, web3js, wagmi.js and ethers to interact with the smart contract.

C. The front end is built on React, and Chakra UI, and many third part libraries.

Future Plans

  • To enable multiple streams and display status of recurring multiple streams in real time.
  • To enable streaming for other tokens on the Celo Network, like $CELO, $cEUR, $cREAL, $PACT, and many more.
  • To expand the use cases of LightningCelo to projects building on Celo

Screenshots

  1. Sender's wallet has 14 $cUSD. Sender wants to start a stream of 5 $cUSD

Screenshot 2022-06-24 at 11 56 44 PM

  1. Sender enters the details of the receipient, start and end time, and amount to be streamed, and creates a recurring stream of tokens in real time to the receiver's wallet.

Screenshot 2022-06-24 at 11 58 35 PM

Screenshot 2022-06-24 at 11 58 56 PM

Screenshot 2022-06-24 at 11 59 35 PM

  1. Stream starts initially with 0 cUSD streamed and 0 cUSD withdrawable, local time 23:30pm (IST - Indian Standard Time) image

  2. Middle of the stream, we see that 1.6cUSD has been streamed already and 1.6cUSD is withdrawable. image

  3. Meanwhile receiver claimed 1.63cUSD of the stream, midway, and the stream finished in two minutes (23:33 local time IST- Indian Standard Time). The receiver is yet to claim 3.37 cUSD. After claiming the remaining cUSD, the streamID, expires and the user can create another stream image image image

  4. So the protocol enables a user to stream money in real time as well as withdraw money at any instant. Look at the potential use case above. Also watch the demo video linked above.

About

Money Streaming Protocol on Celo Blockchain. Stream cUSD in real-time

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published