DAI payout (26/04/2022-25/05/2022) - luzzifoss

As per the original worker proposal’s terms (visible here) I’m asking for 9000 xDai in total to be sent to DevX’s wallet (DevX.eth).

Proof of work


On the v1 smart contracts I have:

  • Implemented more and more tests.
  • Limited the amount of oracles to be used with the ERC20 KPI token template to 5 (to avoid out of gas errors or others weird edge cases).
  • Removed the Jolt integration from the oracles manager (the first version of Carrot won’t have automation built in).
  • Added NatSpec documentation to pretty much all the contracts to polish things a little bit.
  • Tidied up the readme a little bit with updated information.
  • Set up Foundry to use the maximum amount of optimization when building for production (a no-optimization profile was left to handle tests).

Proof here.

On the MVP frontend I have:

  • Done some minor text changes/updates.
  • Updated featured and non-featured campaigns.
  • Fixed the all campaigns page layout (improved responsiveness).
  • Prepared alpha 10, 11 and 12 for production release.
  • Made sure that token addresses in the codebase are checksummed to suppress annoying console warnings.
  • Forced the 24hrs format when time is involved.
  • Upgraded dependencies.
  • Upgraded subgraph endpoints.
  • Following some confusion on Reality.eth oracle resolution, a disclaimer/explanation was added on how to handle the Reality.eth manual crowdsourced oracle, improving clarity.
  • Updated all ENS links across the dapp to use .limo instead of .link.
  • Added new featured campaigns for Swapr TVL and COW/ETH pair Swapr liquidity.

Proof here.

On the alpha SDK I have:

  • Upgraded dependencies.
  • Added the Reality.eth ABI to be exported by the library (for easy access in the frontend along with the address).

Proof here.


On the Swapr Coingecko API I have:

  • Updated the subgraph endpoints.
  • Fixed the uncollected protocol fees function to truly reflect uncollected fees for ALL pairs. The previous implementation only fetched 1k pairs from the target network before using multicall to get the balance of the fee receiver for each one of them. The new one truly fetches all pairs before collecting fee receiver balances, resulting in a way more accurate result.
  • Updated the Arbitrum One RPC URL.
  • Updated CORS settings to allow all origins to access data (needed to show uncollected fees and other data in DXstats).

Proof here.

Additionally, on Swapr I have reviewed the implementation of the new protocol fee split feature (smart contract related) and also reviewed the new Swapr relayer implementation.