For Client : UniRoll UI
Uniroll is essentially a flexible and automated payroll streaming service based on Cowswap's programmatic orders.
- The Treasury/Employer/DAO determines the amount and tops up the treasury with their own or any token.
- 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.
Mainnet : Gnosis, We test in Production :)
- Payroll(Handler): https://gnosisscan.io/address/0x467751B9224f7828b37e2c242F7c37F1f8b91A0D#readContract
- Treasury(Owner): https://gnosisscan.io/address/0xdc541fc451c34f8a4ff5f3e21f8f7af224b912cf#tokentxns
- Example of Creation of Programmatic Order
https://gnosisscan.io/tx/0x7c551dccbac3fbde4dd82c8a612f0342cefe66ca3035cb5304fe3356b680df73 - 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