Create vaults to challenge Yourself and your friends on Strava
This project uses vlayer's web proofs to let users make social bets on Strava challenges. A challenge will consist of a Strava userId, a Strava segment, a time the athlete must achieve on this Strava segment, and a deadline to achieve it. In addition it requires two addresses - one address where the funds will be sent if the athlete successfully completes the challenge, and another address where they will be sent if they fail. To claim funds, a user must generate and submit a web proof using vlayer. Once validated, the funds will be sent to the "success address".
The project uses vlayer for generating the web proofs, which is the bulk of the interesting logic. The web proof template was modified and expanded on to add a Strava proof. The solidity verifier and prover contracts were modified to work with a Strava proof, with funds being locked in the contract until either a valid proof has been submitted, or the time limit has expired. In addition to the backend, there is a nextjs frontend at : https://github.com/tms7331/straVault-frontend Which uses a modified version of the proof.ts script that came with the template to make the @vlayer/sdk library work with nextjs. Unfortunately it can only be run locally, because it relies on the prover also being run locally.