Combine our HTTP RPC and Websocket services into a single HTTP server, eliminating the --ws-port flag to swapd and using --swapd-port flag for swapcli.
* Switches to current v2 version of urfave CLI
* Fixes incorrect port values in the help
* Provides defaults directly to urfave for clear `--help` messaging
* `--base-path` flag renamed to `--data-dir`. This matches `monerod`'s' `--data-dir` and almost matches the `geth` flag `--datadir`
* Bootnodes and contract address are provided for stagenet testing
* Bootnodes can be provided individually by repeating the `--bootnodes`/`--bn` flag, or as a comma separated block (original behavior), or even a combination of both. (Makes adding/removing bootnodes a lot easier.)
* More precise error messaging when XMR maker/taker values are off
* Fixes bug in the peer finder where XMR was hardcoded as the provides coin
* `cleanup-test-processes.sh` displays which processes are being killed
* Fixes lock issues on the XMR Maker's offer list (new package protocol/xmrmaker/offers)
* Fixes lock issues on the swapState maps
* Fixes go routine sync issues in TestError_ShouldOnlyTakeOfferOnce that were sometimes breaking TestSuccess_ConcurrentSwaps
* Ensures that the id field of "types.Offer" is initialized when created
* version independent monerod path with localhost-only binding
* fixed lint target and install script
* created 3rd ETH key constant to avoid race condition in tests
* updated run-integration-tests.sh with the same changes made to run-unit-tests.sh
* new design for paritioning out 2 unique keys to test packages
* restored accidentally deleted tests/alice.key
* removed websocket connection leaks from tests
* made file paths unique between tests with better file cleanup
* fix for the websocket connection leak commit
* reverted increase of GenerateBlocks (didn't mean to commit that)
* fixed maker/taker key that I had reversed
* fixed incorrect zero-balance check
* fixed comment on ClaimOrRefund
* added back sample script for installing go in /usr/local/go
* etchclient creation cleanup using t.Cleanup()
* minor cleanup to ganache_test_keys code
* initial dynamic monero-wallet-rpc implementation for tests
* converted monero tests to use dynamic monero-wallet-rpc services
* unit tests all using dynamic monero-wallet-rpc services
* fixed 2 tests that failed after moving to dynamic monero-wallet-rpc services
* fixed low balance issues in TestSwapState_NotifyClaimed
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
* rework contracts to use less gas by storing just swap hash when creating a swap
* prevent overriding of existing swaps
* ensure swap exists when trying to refund
* update bindings script and go contract bindings
* update swapfactory go tests
* updating protocol, compiles
* update recoverer, everything builds
* fix cmd/recover tests
* fix recover tests
* lint
* fix checkContractCode
* fix protocol/ tests
* inherit secp256k1 instead of using library to prevent double deployment
* rerun abigen and hardcode runtime bin for now
* add nolint to long hardcoded runtime bin line
* cleanup commented out stuff
Co-authored-by: noot <elizabethjbinks@gmail.com>
* remove unused code, move some funcs around
* move monero/crypto to crypto/monero
* cleanup alice swap_state.go, move funcs
* move rpcclient and types package to common
* 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
* begin refactor of make/take offer
* implement ability to make offer, advertise new offers, lint, etc
* implement personal rpc service
* update readme instructions
* add check that taker of offer provides correct amount
* add environment type, update monero address to use network prefix
* update tests
* pass env through flag
* update --ethereum-privkey to take a file
* config basepath and chainIDs
* fix tests
* update network protocol IDs
* pass env to net
* go fmt, bump ci go version to 1.17
* make directories when needed
* fix tests