Skip to content

Set up Chainlink Oracle call to verify sponsor solution. #9

@a-t-0

Description

@a-t-0

Create a separate branch in which:

  • Create a sponsor contract that:
    • Specifies a bounty
    • Contains a link to the test repository (e.g. this one:https://github.com/TruCol/sponsor_example)
    • Contains a method that retrieves the link to the bounty hunter repository commit.
    • Contains a call to Chainlink Oracles to make them query the build status of a bounty hunter repository build status of the particular commit.
  • Create a bounty contract that contains a link to the particular GitHub commit in the bounty hunter repository (e.g. this one:https://github.com/TruCol/bounty_hunter_example/tree/build_pass ) that satisfies the test specification.
  • Build the Chainlink Oracle that performs the query to the bounty hunter GitHub repository and:
    • Returns the build status (fail or success)
    • Inspects whether the unmodifiable functions/files of the sponsor repository code skeleton have indeed not been tampered with.
    • Provides the randomness to the GitHub bounty repository to make sure the commit is ran on the Chainlink VRF random data (to prevent hardcoding). (Possibly just write an immutable method in the sponsor repository that scrapes the value from the chainlink VRF in the sponsor contract, (which is only released once the bounty hunter calls with "hey I've got a solution over here, please give me a chance to prove it).
  • Also verify the Chainlink oracles detect bounty hunter attacks that e.g. hardcode the tests, such as in this branch:https://github.com/TruCol/bounty_hunter_example/tree/attack_unit_test or with a new file etc. (see other branches in bounty_hunter_example).

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions