integrate DLEq into protocol (#67)

* update contract to use secp256k1 curve verification

* update go contract bindings script and bindings

* cleanup rust code, move to its own folder

* remove commented out stuff

* go fmt

* add go wrapper around farcaster-dleq

* add unit tests for farcaster-dleq wrapper

* add dleq unit test for keys

* add swap.go claim test, worksgit status

* add swap.go refund tests

* lint

* update SendKeysMessage to include DLEqProof, update alice/bob generateKeys

* add dleq proof verification to alice/bob handlers

* move alice and bob to protocol package

* add common protocol funcs for generating/verifying dleq proof

* lint

* update alice to store secp256k1 pubkey commitments in contract, update alice/bob to use dleq secret when calling contract

* update alice unit tests

* fix bob unit tests

* update network msg size

* add build-dleq makefile step

* cleanup

* attempt to fix test

* skip inconsistent test on CI
This commit is contained in:
noot
2022-01-15 13:41:27 -05:00
committed by GitHub
parent 242cb82d92
commit 39e6cc0bcd
54 changed files with 5996 additions and 27555 deletions

View File

@@ -121,6 +121,15 @@ If all goes well, you should see Alice and Bob successfully exchange messages an
### Developer instructions
##### Compiling DLEq binaries
To compile the farcaster-dleq binaries used, you can run:
```
make build-dleq
```
This will install Rust (if it isn't already installed) and build the binaries. The resulting binaries will be in `./farcaster-dleq/target/release/`.
##### Compiling contract bindings
If you update the `Swap.sol` contract for some reason, you will need to re-generate the Go bindings for the contract. **Note:** you do *not* need to do this to try out the swap; only if you want to edit the contract for development purposes.