DAI payout (26/08/2021-26/09/2021) - luzzifoss

As per the original worker proposal’s terms (visible here), I’m asking for 8k xDai.

Proof of work

I’ve focused on Swapr and Carrot this past month. On the Swapr frontend, I’ve in particular:

  • Developed the whole SWPR conversion flow solution after the first DXvote deployment on Arbitrum One got lost, together with the ownership of the first set of Swapr contract. This included writing a simple conversion smart contract, and developing a frontend solution to use it. The frontend checks for various things once the user connects their wallet. In particular, since the ols SWPR claimer was kept, if the user still had to claim their old SWPR, they’d be asked to do so as the first step. If no claim is left to perform, and the user still has old SWPR balance in any amount, they’re asked to simply convert it through 2 transactions. The first one approves the old SWPR to be handled by the conversion contract, and the second one effectively converts old SWPR to new SWPR. An additional check consisted in detecting people that had provided liquidity to the old SWPR token in the old SWPR contracts. If that condition is detected, the LP is asked to immediately pull all lqiuidity from the old build before getting any further in the conversion process.
  • Fixed flicker on claim airdrop or convert SWPR sign at the top right of the page.
  • Fixed a casing issue that made it impossible for some airdrop recipients to claim their part in the overall drop.
  • Made it so that the farming campaign page auto-updates once the countdown for the current period reaches zero. The campaign will be shown as active once the “upcoming” countdown reaches the end, and it will be shown as expired once the “active” countdown comes to an end.
  • Move stuff previously settable only through env to the SDK, to clean up both the code and build process. This stuff mainly includes platform’s addresses on Arbitrum One and IPFS cid of the airdrop whitelist.
  • Completely removed any trace of the disclaimer bar that was used to tell users accessing Swapr builds not containing swapr.eth in the URL that the build was not the official one.
  • Prepared the beta 4.1 release on Github, containing minor UX improvements such as Arbiscan links on Arbitrum One and the update on the previous point.
  • Prepared the beta 5 release on Github, containing the whole old SWPR conversion flow described in the first point.
  • Shown unwrapped native currency everywhere in the frontend. That is, when a pair contains a native currency wrapper token such as WETH or WXDAI, abstract that away from the end user. The main advantage is on the add liquidity page and swap box. When adding liquidity to a pair containing the native currency wrapper, for example, the user is not required anymore to have the wrapped token in their wallet. The UI and router contract will take care of the wrapping on-chain automatically if the user wants to provide the raw native currency.
  • Avoided UI overflow when liquidity deposits return a very small amount of liquidity tokens to the LP (not related to the provisioned liquidity value, just to the quantity of the LP tokens returned).
  • Helped implement the token tooltip on the farming campaign page. Previously only a small icon was shown right after the token amount, making it hard to read the overall info.
  • Added Sushiswap ecorouting option in Arbitrum One.
  • Helped adding links to DXstats back to the pair page.
  • Fixed the APY badge alignment in the pair cards.
  • Fixed the mobile layout of the pair/farming cards list.
  • Removed the explainer at the bottom of the all pairs page.
  • Prepared the beta 6 release on Github.

On DXstats, I have:

  • Implemented a mobile menu to make it possible to browse the various page and analytics offered by the platform.
  • Fixed a pagination issues that blocked items in the pairs and tokens list to be shown.
  • Added comprehensive metadata and a link thumbnail to improve the link-sharing experience.
  • Fixed token icons not showing up sometimes, and also a race condition issue that plagued some useEffect hooks in the codebase.
  • Upgrade the subgraph to be queried to get the correct data on Arbitrum One.
  • Included staked liquidity when calculating the overall liquidity provided by a user on Swapr.
  • Implemented dynamic swap fee fetching for each shown pairs. Swapr has swap fees changeable through governance, and they’re now precisely shown on each pair in DXstats, and also correctly used to calculate overall earned fees etc etc.
  • Increased support for token icons on Arbitrum One.
  • Fixed the top LPs per pair list to include staked liquidity too.

On the token and airdrop whitelist front, I have:

  • Fixed the whitelist generation script to include some DXD that wasn’t previously taken into account. Most of the whitelisted accounts weren’t affected by the issue, but since the DXD holders’ airdrop was weighted by held balance, it turned out most got ~7% more SWPR than they should have. To correct it and make it equal across the board, everyone was made to get ~7% more SWPR in the unlocked drop. Since this issue only included DXD holders, the SWPR amount necessary to make this fix a reality was taken from the locked part of the airdrop. In order to fully fix this, a second distribution of SWPR on Arbitrum One will need to be done to make the airdrop recipient whole.

On Carrot, I’ve mainly polished the whole platform and increased talks with potential first users that would like to use the platform to incentivize their communities.

Proof for the claims above can be verified by looking at my commits on the various platforms’s repos. In particular:

  • For Swapr frontend, check out this.
  • For DXstats, check out this.
  • For the SWPR token and airdrop whitelist fix, check out this.
  • For Carrot, the codebase is not yet public at the time of writing, but most likely will be in the near future. As I said, most of the work was done to the frontend, so check that out once it goes public.

I’m sure everyone is grateful for your dedication and contributions. Thank you! More community members like you are needed. :pray: