82 Commits

Author SHA1 Message Date
Dmitry Holodov
7619b9a6af updates for cross-chain bootnodes (#486) 2023-06-19 14:47:27 -05:00
Dmitry Holodov
8941163c00 USDT compatibility (#484) 2023-06-17 04:30:20 -05:00
Dmitry Holodov
9e3ef7b527 ETH transfer fixes and sweep ETH addition (#481) 2023-06-09 01:43:11 -05:00
Dmitry Holodov
584858f53a fixed taker ERC20 over/under error messages (#483) 2023-06-06 11:21:51 -05:00
Dmitry Holodov
0f1865c33f additonal erc20 and taker decimal checks (#478) 2023-05-30 21:49:22 -05:00
noot
f2b880a40d fix: store newSwap tx in db, handle pending newSwap on restart (#470) 2023-05-21 21:41:55 -04:00
Dmitry Holodov
f41c9af432 ensure that the status channel is always initialized (#471) 2023-05-20 16:04:26 -04:00
noot
f7862219a8 fix: start timeout watchers for xmrtaker when restarting ongoing swap (#456) 2023-05-03 14:09:27 -04:00
Dmitry Holodov
df057ac5cd time index shift (#450) 2023-05-02 10:52:28 -05:00
noot
c131112da1 feat: close stream after NotifyETHLocked is sent (#446) 2023-05-01 23:03:26 -04:00
noot
fb95751dda feat: update SwapCreater.sol claimRelayer to no longer use forwarder (#449)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-05-01 19:23:17 -04:00
Dmitry Holodov
f9a63ff7c3 min and max offer amount checks (#445)
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
2023-04-30 17:36:31 -05:00
noot
906a5c69a3 fix: fix swap status channel setting on restart (#444) 2023-04-28 17:29:39 -04:00
noot
82733bc375 feat: swapcli commands to manually claim/refund and for database functions (#441) 2023-04-28 12:14:08 -04:00
noot
c1d5347616 fix: set GasLimit for relayed transactions (#425)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-04-26 15:55:46 -04:00
noot
4c10263ebd fix xmrtaker key overwrite on restart (#423) 2023-04-26 12:22:04 -04:00
noot
dc64531325 fix: add SweepingXMR status, fixes restart during sweep (#399)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-04-24 16:44:26 -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
f344d09fc6 add AUTHORS file and update copyright in license header (#389) 2023-04-18 12:25:30 -04:00
Matt
002adc58ad Taker: provided amount out of range checks (#386) 2023-04-17 15:10:50 -05: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
15b8378c76 ERC20 balance support (#380)
* Added --token flag to swapcli's balances request allowing the user to query their token balance
* --eth-asset flag on swapcli make changed to --token
* Added TokenInfo RPC API method to retrieve an ERC20 token's metadata
* Added an end-to-end ERC20 unit test to the daemon package
* Fixed ERC20 token approval amount to SwapCreator contract to use the minimum value required (instead of approving the entire user's balance for transfer by the contract)
* Fixed a race condition between concurrent contract calls to approve/new_swap in ERC20 token swaps
* Removed hard coded assumptions that all tokens have 18 decimals
* Maked the decimal places in our test ERC20 token configurable
* Fixed token exchange rate calculations
* Updated ongoing and past swap queries to correctly support ERC20 tokens
* Initial unit tests in swapcli's main package
2023-04-17 11:59:47 -05:00
noot
a2d9e8ddd7 net: add initiate, query and relay timeouts (#378)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-04-15 14:09:49 +02:00
Dmitry Holodov
a17f95d414 SwapFactory to SwapCreator rename, upgrade to solc 0.8.19 (#372) 2023-04-09 03:08:17 -05:00
Dmitry Holodov
7fef2d7b76 XMR taker is relayer of last resort for the maker (#366)
Co-authored-by: noot <36753753+noot@users.noreply.github.com>
2023-04-05 20:16:41 -05:00
noot
4545aff7cd remove swap_refund in favour of swap_cancel (#371) 2023-04-04 20:52:27 -04:00
noot
b26228805c add license header to files; update readme disclaimer (#368) 2023-04-04 13:12:12 -04:00
noot
aa70b55a5c log updates for ERC20 swaps (#369) 2023-04-02 18:38:46 -04:00
noot
bf0443c5bc xmrmaker: check if swap was completed already when restarting swap (#361) 2023-04-01 18:04:28 -04:00
noot
4c3caedcc3 fix: remove ws eth endpoint requirement, update taker exit (#358) 2023-03-28 10:21:28 -04:00
Dmitry Holodov
528715b602 swapd daemon setup/start decoupled from CLI parsing (#354) 2023-03-25 19:18:51 -05:00
Dmitry Holodov
0e80eee4dc integrated relayer into swapd (#342) 2023-03-17 14:22:16 -05:00
noot
baea93c839 fix xmrmaker exit when claim fails (#347) 2023-03-11 23:03:01 -06:00
noot
848051b852 remove NotifyXMRLocked message, have xmrtaker check for lock independently (#341) 2023-03-11 16:13:47 -05:00
Dmitry Holodov
51d89a4d18 added more required tags to serialized structs (#330) 2023-02-28 22:41:03 -06:00
noot
b097cbbba4 add timeouts to swap.Info (#331)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-02-27 20:31:03 -05:00
noot
b6a7047204 fix: ensure stage is changed if funds are locked, even in error case (#319) 2023-02-26 08:16:12 -05:00
Dmitry Holodov
93b8a9dacf simplify per-swap deposit address overrides (#328) 2023-02-25 17:01:52 -06:00
Dmitry Holodov
1d7c00a8ed dedicated monero address type (#327)
Adds custom type for monero addresses with better validations.
2023-02-25 11:18:16 -06:00
noot
59eaccaa0c feat: add start/end times to swap.Info and swap RPC returns (#317) 2023-02-22 09:59:47 -05:00
noot
112ed74cfb fix: update xmrmaker refund path wallet to use address from xmrtaker swap keys (#304)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-02-20 16:33:49 -05:00
Dmitry Holodov
94a67b9949 swapd error on subcommand (#311) 2023-02-20 15:05:38 -06:00
Dmitry Holodov
943e95cc11 JSON updates (#305)
* ensures  all p2p message types have JSON tags
* when available, marshaling uses our project types
* "common" package was decoupled from the "message" package
* protocol version bumped
2023-02-16 01:15:58 -06:00
Dmitry Holodov
64530dc256 fix: update derivation of shared swap view key to be the same for all paths (#302)
Co-authored-by: noot <elizabethjbinks@gmail.com>
2023-02-12 12:27:25 +00:00
Dmitry Holodov
bb9a50dd7f upgrade linter (#297)
Upgraded linter to 1.50.1 and improved protocol documentation.
2023-02-07 22:31:06 -06:00
noot
17ab2f11ff feat: add relayer discovery and transaction submission via network (#291)
Co-authored-by: Dmitry Holodov <dimalinux@protonmail.com>
2023-02-03 19:01:32 -05:00
Dmitry Holodov
82a3f884d4 reduce monero wallet contention (#285)
Сreates a new monero-wallet-rpc instance for temporary swap wallets, eliminating the need for monero wallet locks.
2023-01-29 14:10:23 -06:00
Dmitry Holodov
b78cf06870 check ethereum chain ID (#278)
validates that the expected chain ID for the given environment matches the chain ID returned by the ethereum endpoint
2023-01-14 14:20:02 -06:00
Dmitry Holodov
2905d1b1f9 Fixed Point Math (#269)
Updates our code to use the fixed point match library apd.Decimal.
2023-01-10 16:03:22 -06:00
noot
3ef8ae9427 refactor net package to separate generic and swap-specific functionality (#268) 2023-01-08 09:59:34 -05:00