Commit Graph

29 Commits

Author SHA1 Message Date
noot
3c2ea1e580 fix contract semver (#410) 2023-04-24 17:06:10 -04:00
noot
c2aa51b695 release: add more mainnet bootnodes (#411) 2023-04-24 14:57:07 -04:00
noot
7c90e7f76b release: add initial mainnet bootnodes (#400) 2023-04-23 14:20:20 -04:00
noot
5d49051f39 fix: a few more contract checks (#398)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-04-23 11:33:58 -04:00
noot
dbcc97f9c1 feat: add bootnode binary (#397) 2023-04-21 12:52:07 -04:00
noot
f344d09fc6 add AUTHORS file and update copyright in license header (#389) 2023-04-18 12:25:30 -04:00
noot
c0c87e8ecb contract updates and cleanup (#382)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-04-17 13:49:53 -04:00
Dmitry Holodov
a17f95d414 SwapFactory to SwapCreator rename, upgrade to solc 0.8.19 (#372) 2023-04-09 03:08:17 -05:00
noot
fea16bc0fe update contract to allow setting t0/t1 separately (#364) 2023-04-05 14:54:55 -04:00
noot
b26228805c add license header to files; update readme disclaimer (#368) 2023-04-04 13:12:12 -04:00
noot
b83f57e60c move stagenet from goerli to sepolia (#363)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-03-30 23:53:13 -04:00
Dmitry Holodov
528715b602 swapd daemon setup/start decoupled from CLI parsing (#354) 2023-03-25 19:18:51 -05:00
noot
0f346d76fc fix contract claimRelayer vulnerability (#348)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-03-11 21:36:25 -05:00
Dmitry Holodov
f65e5b6a77 global solidity imports (#310)
* Switched to solc to v0.8.17
* Uses selective solidity symbol imports
2023-02-18 18:15:24 -06:00
noot
76d0b2e365 fix: update goerli contract addresses (#306) 2023-02-15 08:44:03 -05:00
noot
ea43b6a86c feat: implement swap relayer cmd package (#282) 2023-01-25 01:17:55 -05:00
noot
8e1db226fd implement suggested exchange rate (#262)
Pulls chainlink's ETH and XMR price feeds to create suggested exchange rates.
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-01-12 22:50:52 -06:00
Dmitry Holodov
6e146f0dc5 support fallback monero nodes in default configs (#265)
Allows configuring multiple monerod nodes in our default configs. They get tried sequentially and the first one that works gets used.
2022-12-20 15:10:40 -06:00
noot
7caadadff6 validate swap timeouts set by counterparty (#254) 2022-12-13 17:59:44 -05:00
Dmitry Holodov
ab82a5bc0e relay updates (#220)
* Updates to the latest go-relayer version which can be terminated by canceling the context 
* Swapd's RPC server context handling was improved
* Reformats the contracts with prettier-plugin-solidity@1.0.0-rc.1
* Adds test helper for checking/updating the goerli contract
2022-11-03 23:32:19 -05:00
Dmitry Holodov
ec325f2cf7 add linting and formatting support for solidity (#217)
* Added new `format-solidity` and `lint-solidity` Makefile targets
* Updated documentation on how to install the new tools dependencies
* Formatted the solidity code, updated expected byte code and deployed stagenet contract
* Updated go.mod to go 1.19
* Updated Github actions for go 1.19 and we now use all formatters/linters in the actions checks
2022-11-01 23:01:59 -05:00
noot
7e253a7aa1 update stagenet bootnodes (#216) 2022-10-31 21:28:09 -04:00
Dmitry Holodov
cdcd4db15d monero transaction checks (#207)
* Bob now waits for his XMR transfer to the A+B wallet to have 10 confirmations before notifying Alice that the XMR is locked.
* Alice now rejects the locked Monero if there is more than one block left before she can spend the funds (1 block freedom is in case of network latency on Alice's side). This eliminates Bob's ability to double spend and allows Alice to sweep funds to her primary wallet from the A+B wallet in a reasonable time frame.
* Sweeping received XMR to the primary wallet is now the default behavior.
* A+B swap wallets are created with a restore height set for quick wallet creation in production where the blockchain is big.
* Fixes SleepWithContext moving it into the common package and having it return an error when the sleep is interrupted by the context being canceled.
* Fixed timeout and context handling in integration tests
* Added new GetChainHeight method that queries monerod instead of monero-wallet-rpc
2022-10-31 00:26:25 -05:00
Dmitry Holodov
130ed147aa removed --ethereum-chain-id flag (#201)
Removes the --ethereum-chain-id flag and updates the code to dynamically determines the chain ID using the ethereum endpoint.
2022-10-09 20:43:56 -05:00
Dmitry Holodov
ecd91f624c monero-wallet-rpc now embedded (#192)
* Embeds monero-wallet-rpc instead of having the user start it separately.
* Location of all the files standardized and documented in docs/default-file-locations.md.
* Ethereum and Monero wallets will be created if they do not exist.
* New RPC API  personal_balances added including swapcli support.
2022-10-07 22:18:46 -05:00
Dmitry Holodov
476bc69b82 CLI cleanups (#185)
* 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
2022-09-07 19:45:01 -05:00
noot
d7d7cf0e0a cleanup todos, either fix or add issue numbers (#166) 2022-08-20 23:57:23 -04:00
noot
d6aba125e4 improve linter and lint code (#58) 2021-12-11 11:26:06 -05:00
noot
f369b9a3bb create mainnet, stagenet, and dev environments (#41)
* 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
2021-11-23 23:47:41 -05:00