Skip to content
Legendre computation used in Phase 1 of eth2.0 as a Solidity smart contract
Python Makefile
Branch: master
Clone or download
Pull request Compare This branch is 28 commits ahead of ralexstokes:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
contract
tests
.gitignore
Makefile
Pipfile
Pipfile.lock
README.md
pytest.ini

README.md

Legendre bounty smart contract

Explores the Legendre computation used in eth2.0 phase 1 proof-of-custody game as a smart contract.

The contract provides an interface to redeem a bounty that was set for Legendre key recovery (redeem_bounty method). In order to redeem a bounty, it first has to be locked by providing a sha256 hash of the key (this is to prevent front running once someone has found a valid solution).

Requirements

This project uses pipenv, https://docs.pipenv.org/en/latest/.

Install

pipenv shell
pipenv install

Compile

vyper contract/legendre_bounty.vy

Run tests

make test_install
make test

Run with gas cost estimates

To enable debug printing, run pytest with extra flags:

pipenv run pytest -s -v -k test_legendre_bit_multi
You can’t perform that action at this time.