Key Information

Register
Submit
The challenge is finished.
Show Deadlines

Challenge Overview

Mythril is a security analysis tool for Ethereum smart contracts. Mythril API (source code provided in the challenge forum) exposes this functionality as a network service. In this challenge you will add authentication functionality to the API.

Challenge Scope

  1. Add POST /auth/user endpoint.
    Input: first and last names, email address, a boolean flag specifying whether user want to subscribe for news mailing list, a string uuid of the terms of service the user agreed to.
    Validation: check that first and last names are provided, email is provided, correct, and unique, terms ID has a known value.
    Error: in case of validation failure, or any other problem, reply with the correct error status and message.
    Success:
    - Create new user record in the database. User object should have an unique UUID (don't use email as UUID);
    - Generate a new API key for that user, store it with user object to the DB, and return in the API response.
     
  2. Add GET /auth/user/check endpoint.
    This will get email address as input, and report whether this address is correct and unique.
     
  3. Protect existing API endpoints with API key check.
     
  4. Update tests.
     
  5. Update Postman collection and environment.
Be sure to follow the best development practices, use JSON payloads everywhere, in case of any doubts do not hesitate to ask questions in the forum.

Final Submission Guidelines

Submit Git patch for the API against the latest commit in develop branch.

Reliability Rating and Bonus

For challenges that have a reliability bonus, the bonus depends on the reliability rating at the moment of registration for that project. A participant with no previous projects is considered to have no reliability rating, and therefore gets no bonus. Reliability bonus does not apply to Digital Run winnings. Since reliability rating is based on the past 15 projects, it can only have 15 discrete values.
Read more.

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

REVIEW STYLE:

Final Review:

Community Review Board
?

Approval:

User Sign-Off
?

CHALLENGE LINKS:

Review Scorecard

?