/uniroll-contracts

Primary LanguageTypeScriptMIT LicenseMIT

Uniroll Contracts

For Client : UniRoll UI

fd906b7c-7ef0-4477-aa30-2629fff52668

Buit at ETHGlobal:Istanbul

Uniroll is essentially a flexible and automated payroll streaming service based on Cowswap's programmatic orders.

  1. The Treasury/Employer/DAO determines the amount and tops up the treasury with their own or any token.
  2. Receivers choose the token and chain of their choice, and then payments are regularly swapped from the treasury's token to the token of the receiver's choice and streamed regularly using programmatic orders.
    We also planned to bridge them to the chain of the receiver's choice using hooks.
    However, currently, we could implement and execute only the first part end-to-end, due to time constraints.
    The second part remains incomplete as of now.

We think this level of personalization and flexibility is required in our diverse world, since contributors/receivers might have preferences for certain tokens or blockchains due to factors like base location, transaction fees, processing times, or personal preferences.
The codebase currently is buggy; for example, ERC-1271 always returns true, so please don't use this in production.

Deployments

Mainnet : Gnosis, We test in Production :)

  1. Example of Creation of Programmatic Order
    https://gnosisscan.io/tx/0x7c551dccbac3fbde4dd82c8a612f0342cefe66ca3035cb5304fe3356b680df73
  2. Examples of Execution of Programmatic Order
    Cow being swapped into USDC and streamed
    https://gnosisscan.io/address/0xdc541fc451c34f8a4ff5f3e21f8f7af224b912cf#tokentxns
    Curve being swapped into USDC and streamed
    https://gnosisscan.io/tx/0x13582ff822cd62065ee7305b76b5c8f3dd1999f8a298b9f3d19843daaec19d5e

Uniroll UI

URL: https://uniroll-ui.vercel.app/

uniroll_1 uniroll_2 uniroll_3 uniroll_4