Closed cipig closed 2 years ago
@borngraced Could you check it, please? cc @sergeyboyko0791 @shamardy
@borngraced Could you check it, please? cc @sergeyboyko0791 @shamardy
...noted @artemii235
@cipig, please can I get a test coin for this? Thank you...
You can buy them on AtomicDEX or send me your address, then i send some manually.
for LBC you will need to use spv16.lbry.com:50001
as electrum server like in https://github.com/KomodoPlatform/atomicDEX-Desktop/blob/dev/assets/config/0.5.5-coins.json#L3659
the other ones (still configured in released ADEX) don't work anymore
You can buy them on AtomicDEX or send me your address, then i send some manually. ok cool. here...
NMC NFtNtznXKVFrqfCNPSyQyRZZh99iD67wff
LBC bY3HPad2kSYmpxoECHxvyZYXTneqcedvhh
bought on ADEX and sent... LBC should be there, NMC takes longer
Got both….thank you 👍
On Thu, 26 May 2022 at 15:33, cipig @.***> wrote:
bought on ADEX and sent... LBC should be there, NMC takes longer
— Reply to this email directly, view it on GitHub https://github.com/KomodoPlatform/atomicDEX-API/issues/1281#issuecomment-1138644167, or unsubscribe https://github.com/notifications/unsubscribe-auth/AML2KX3SL62H6HOXXYI4ZSLVL6DSZANCNFSM5VJBHBHQ . You are receiving this because you were mentioned.Message ID: @.***>
@cipig I can confirm that refunds are working normally now
here's a sample swap data I made with LBC
as maker coin
**used dev branch for the swap
{
"type": "Maker",
"uuid": "c96569d5-983f-4a0d-9051-feed77e37b0e",
"my_order_uuid": "7e2cae9d-67b8-4d66-9452-70094762b2fc",
"events": [
{
"timestamp": 1654280881563,
"event": {
"type": "Started",
"data": {
"taker_coin": "NMC",
"maker_coin": "LBC",
"taker": "031d4256c4bc9f99ac88bf3dba21773132281f65f9bf23a59928bce08961e2f3",
"secret": "0000000000000000000000000000000000000000000000000000000000000000",
"secret_hash": "11a046a418c2fffdfbbd381024c9e273e8125264",
"my_persistent_pub": "022a020b37fd4113676c619c0244fb90dc5921a8f101e786dfd2dd4255c61aebcf",
"lock_duration": 7800,
"maker_amount": "0.01",
"taker_amount": "0.0001",
"maker_payment_confirmations": 3,
"maker_payment_requires_nota": false,
"taker_payment_confirmations": 2,
"taker_payment_requires_nota": false,
"maker_payment_lock": 1654296480,
"uuid": "c96569d5-983f-4a0d-9051-feed77e37b0e",
"started_at": 1654280880,
"maker_coin_start_block": 1170478,
"taker_coin_start_block": 614895,
"maker_payment_trade_fee": {
"coin": "LBC",
"amount": "0.0001",
"paid_from_trading_vol": false
},
"taker_payment_spend_trade_fee": {
"coin": "NMC",
"amount": "0.00030887",
"paid_from_trading_vol": true
},
"maker_coin_htlc_privkey": null,
"maker_coin_htlc_pubkey": "022a020b37fd4113676c619c0244fb90dc5921a8f101e786dfd2dd4255c61aebcf",
"taker_coin_htlc_privkey": null,
"taker_coin_htlc_pubkey": "022a020b37fd4113676c619c0244fb90dc5921a8f101e786dfd2dd4255c61aebcf",
"p2p_privkey": null
}
}
},
{
"timestamp": 1654280883573,
"event": {
"type": "Negotiated",
"data": {
"taker_payment_locktime": 1654288680,
"taker_pubkey": "000000000000000000000000000000000000000000000000000000000000000000",
"maker_coin_swap_contract_addr": null,
"taker_coin_swap_contract_addr": null,
"maker_coin_htlc_pubkey": "02031d4256c4bc9f99ac88bf3dba21773132281f65f9bf23a59928bce08961e2f3",
"taker_coin_htlc_pubkey": "02031d4256c4bc9f99ac88bf3dba21773132281f65f9bf23a59928bce08961e2f3"
}
}
},
{
"timestamp": 1654280885806,
"event": {
"type": "TakerFeeValidated",
"data": {
"tx_hex": "0100000001081b06e3eddc371af846c3bf97fe0b9fb1f277f2143390caa4592b3adefc442a020000006b483045022100d633f36cfbf722a81b476de89917f95f5d954aced506b3980905cfed575b8ba302200320f47844a2bf817db76208eca1593d6d17c7c0a19acb238d3509356fad1bf4012102031d4256c4bc9f99ac88bf3dba21773132281f65f9bf23a59928bce08961e2f3ffffffff0210270000000000001976a914ca1e04745e8ca0c60d8c5881531d51bec470743f88ac65a30a00000000001976a91405aab5342166f8594baf17a7d9bef5d56744332788acb4529a62",
"tx_hash": "d002348d64d03b7d1c513dadb385a6e3b626de6a76c0a7e681ea0e4e0c6952b6"
}
}
},
{
"timestamp": 1654280887108,
"event": {
"type": "MakerPaymentSent",
"data": {
"tx_hex": "01000000016915e1f4a9712e5c2523f8ad406be1d2818518e2406ae7e6701c7d91a6ea89c9020000006b483045022100856f6c5e8523f9b0ae112d7d3b7a2980d4a217f3136e705b1ae5cec6d756694f02206beba5c56ca3407a6f3dc7e002c5ef276c7a244939db6e6c19e56ed90b8e9e210121022a020b37fd4113676c619c0244fb90dc5921a8f101e786dfd2dd4255c61aebcfffffffff0340420f000000000017a914880e3a95a81f085c3c7563c556312db5058c29d5870000000000000000166a1411a046a418c2fffdfbbd381024c9e273e81252645cc52d2b000000001976a914d3d2753b154679bb76a3e5161f7c403e5073647b88acb6529a62",
"tx_hash": "7d833d7d7857da826a96c178c7b7294bfc3061a15975818fa02b10d954652152"
}
}
},
{
"timestamp": 1654284220264,
"event": {
"type": "MakerPaymentWaitConfirmFailed",
"data": {
"error": "maker_swap:732] !wait for maker payment confirmations: rpc_clients:140] Waited too long until 1654284000 for transaction 7d833d7d7857da826a96c178c7b7294bfc3061a15975818fa02b10d954652152 to be confirmed 3 times"
}
}
},
{
"timestamp": 1654284220526,
"event": {
"type": "MakerPaymentWaitRefundStarted",
"data": { "wait_until": 1654300180 }
}
},
{
"timestamp": 1654302306393,
"event": {
"type": "MakerPaymentRefunded",
"data": {
"tx_hex": "010000000152216554d9102ba08f817559a16130fc4b29b7c778c1966a82da57787d3d837d00000000b74830450221009a6559e7a4d0a4268be8069b06520c590baf2b2a6db2e7721085381254d713a7022064b1b3c23cdb126d355fb67c45dc4fb28b78b9b185783f577b549d58a2d34c5301514c6b6304a08f9a62b17521022a020b37fd4113676c619c0244fb90dc5921a8f101e786dfd2dd4255c61aebcfac6782012088a91411a046a418c2fffdfbbd381024c9e273e8125264882102031d4256c4bc9f99ac88bf3dba21773132281f65f9bf23a59928bce08961e2f3ac68feffffff01301b0f00000000001976a914d3d2753b154679bb76a3e5161f7c403e5073647b88ac089f9a62",
"tx_hash": "f8b9db3761f7ed8c0916a9dec3d0dd094c98a3cd74eb5e7b14523b67baf67904"
}
}
},
{ "timestamp": 1654302306396, "event": { "type": "Finished" } }
],
"maker_amount": "0.01",
"maker_coin": "LBC",
"maker_coin_usd_price": "0.012702",
"taker_amount": "0.0001",
"taker_coin": "NMC",
"taker_coin_usd_price": "1.39",
"gui": "nogui",
"mm_version": "7e4133146",
"success_events": [
"Started",
"Negotiated",
"TakerFeeValidated",
"MakerPaymentSent",
"TakerPaymentReceived",
"TakerPaymentWaitConfirmStarted",
"TakerPaymentValidatedAndConfirmed",
"TakerPaymentSpent",
"TakerPaymentSpendConfirmStarted",
"TakerPaymentSpendConfirmed",
"Finished"
],
"error_events": [
"StartFailed",
"NegotiateFailed",
"TakerFeeValidateFailed",
"MakerPaymentTransactionFailed",
"MakerPaymentDataSendFailed",
"MakerPaymentWaitConfirmFailed",
"TakerPaymentValidateFailed",
"TakerPaymentWaitConfirmFailed",
"TakerPaymentSpendFailed",
"TakerPaymentSpendConfirmFailed",
"MakerPaymentWaitRefundStarted",
"MakerPaymentRefunded",
"MakerPaymentRefundFailed"
]
}
weird, i have a bunch of failed LBC swaps where i was maker and they are showing me non-final
errors when i try to refund them
c11b10e4-b161-4044-9097-7015d1a96902
{
"error" : "rpc:212] dispatcher_legacy:160] lp_swap:1145] saved_swap:104] maker_swap:1250] mm2src/coins/utxo/utxo_common.rs:1328] MmError { etype: ResponseParseError(JsonRpcError { client_info: \"coin: LBC\", request: JsonRpcRequest { jsonrpc: \"2.0\", id: \"1250\", method: \"blockchain.transaction.broadcast\", params: [String(\"01000000011a10bc487606d7b6922b14daa136809bc558bd2897d359cd67fc709ae4e953ac00000000b647304402202d1cc9b8b1f1e7ecf4a2b8e26159750ca5836507da7752876f37397758bac1a80220311c2314ba91d2916ed8468357d64b9d80c3c4cdfda383dc307fd21b6edcf61e01514c6b6304845cb262b17521026da2fc632afabbb1b86d04a9a012db25eca74db38ba2eccd88552f27f4c0b245ac6782012088a914a263cbf4c55a71d3ab8632973f3624b5375383c5882102f70d90df545d767a53daa25e07875b4b588c476cba465a28dcafc4b6b792cf94ac68feffffff015849a240010000001976a914ed56f2feb905938b45d2e009ec14add0e7d0157288ac83c0d262\")] }, error: Response(electrum2.cipig.net:10067, Object({\"code\": Number(1), \"message\": String(\"the transaction was rejected by network rules.\\n\\nnon-final (code 64)\\n[01000000011a10bc487606d7b6922b14daa136809bc558bd2897d359cd67fc709ae4e953ac00000000b647304402202d1cc9b8b1f1e7ecf4a2b8e26159750ca5836507da7752876f37397758bac1a80220311c2314ba91d2916ed8468357d64b9d80c3c4cdfda383dc307fd21b6edcf61e01514c6b6304845cb262b17521026da2fc632afabbb1b86d04a9a012db25eca74db38ba2eccd88552f27f4c0b245ac6782012088a914a263cbf4c55a71d3ab8632973f3624b5375383c5882102f70d90df545d767a53daa25e07875b4b588c476cba465a28dcafc4b6b792cf94ac68feffffff015849a240010000001976a914ed56f2feb905938b45d2e009ec14add0e7d0157288ac83c0d262]\")})) }), trace: [TraceLocation { file: \"rpc_clients\", line: 1950 }] }"
}
could the difference be that the taker of my failed swap used a different electrum server when he failed the swap? i mean totally different, other server software... and not working atm, giving parse errors on txes and stuff like that... replaced those with some hosted by us, but that will have effect only after ADEX release would that have influence over refund on maker side?
we are talking about LBC, i was maker with LBC, taker tried to buy some LBC from me, failed the swap because of bad LBC electrums and my sent LBC in makerpayment need to be refunded (i am using the good LBC electrums)
@cipig got it thanks. Will look into it again
@cipig please I can confirm the refund for LBC coin is working correctly again..(build from dev branch)
So If I'm positive, the problem is def coming from the bad LBC
electrums
I activated LBC
with the electrums below..and tried refunding multiple failed swap manually and all seems to be refunding with one click
{
"url": "spv1.lbry.com:50001"
},
{
"url": "spv13.lbry.com:50001"
},
{
"url": "spv15.lbry.com:50001"
},
{
"url": "spv17.lbry.com:50001"
},
{
"url": "spv19.lbry.com:50001"
}
now testing automatic refund for failed LBC
swap
@cipig sorry, what's the "Taker Coin" in the case of LBC
the swaps i looked at were KMD/LBC, so taker coin was KMD
I guess I've figured out what the problem is in the case of LBC
(some of the electrums are dead and the ones alive are out of sync so that's causing the inaccuracy in mtp
and locktime
)
I'm testing NMC
and will provide updates on it shortly.
hi @cipig can this issue be closed now? as the issues are from the unstable electrums and not from the API side
hi @cipig can this issue be closed now? as the issues are from the unstable electrums and not from the API side
Yes, we can close this issue.
Closing this issue since it's a problem from the electrums side.
@borngraced
some of the electrums are dead and the ones alive are out of sync so that's causing the inaccuracy in mtp and locktime
Could you please provide more info on how you determined that alive electrums are out of sync?
@borngraced
some of the electrums are dead and the ones alive are out of sync so that's causing the inaccuracy in mtp and locktime
Could you please provide more info on how you determined that alive electrums are out of sync?
Yes @artemii235, I create an rpc to get mtp
of supported coins and unfortunately the mtp
for LBC
and NMC
are sometimes many years/months ahead or behind.
@borngraced
Making a conclusion that electrums are out of sync is not valid in this situation.
They might have block header structure that is deserialized incorrectly by MM2. A typical way to fix it is to support the corresponding format correctly. E.g., https://github.com/KomodoPlatform/atomicDEX-API/pull/1235
Please do a more comprehensive research on this issue (and also in the future too in similar situations) cc @shamardy
https://github.com/KomodoPlatform/atomicDEX-API/issues/1338 will be still useful, though, for easier troubleshooting of such problems.
PS A good example of research to confirm that the problem is really on electrum's side https://github.com/KomodoPlatform/atomicDEX-API/issues/1254#issuecomment-1100747092
@borngraced
Making a conclusion that electrums are out of sync is not valid in this situation.
They might have block header structure that is deserialized incorrectly by MM2. A typical way to fix it is to support the corresponding format correctly. E.g., https://github.com/KomodoPlatform/atomicDEX-API/pull/1235
Please do a more comprehensive research on this issue (and also in the future too in similar situations) cc @shamardy
Ok noted. Sorry about the inaccurate info and thanks
They might have block header structure that is deserialized incorrectly by MM2. A typical way to fix it is to support the corresponding format correctly. E.g., https://github.com/KomodoPlatform/atomicDEX-API/pull/1235
It seems that this might actually be the issue for LBC, they have extra fields that need to be deserialized here https://github.com/lbryio/lbry-sdk/blob/ff303860513690c4b1c52a053aa75f28858002d3/lbry/wallet/header.py#L92-L105
@borngraced can you add the extra fields to our BlockHeader struct and see if you get correct MTPs? Also, let's focus on LBC first and fix it on a PR then we can have a look at NMC
Hey @cipig, sorry for the earlier misinformation from me on this issues...The bug is actually from the API side and the PRs for the fix is already in review.
also, I can confirm that all the electrum are live and in sync for LBC
.
@cipig NMC
electrums from https://github.com/KomodoPlatform/coins/blob/master/electrums/NMC are not connecting
@cipig
NMC
electrums from https://github.com/KomodoPlatform/coins/blob/master/electrums/NMC are not connecting
use the ones from https://github.com/KomodoPlatform/atomicDEX-Desktop/blob/dev/assets/config/0.5.6-coins.json#L6740
@cipig can you please check if this issue is fixed?
tried with NMC
{
"event" : {
"data" : {
"wait_until" : 1662217384
},
"type" : "MakerPaymentWaitRefundStarted"
},
"timestamp" : 1662203483571
},
{
"event" : {
"data" : {
"tx_hash" : "3098c98787ea83ab0b3f1cb1861d9d78d98e91d47dabea35f9ecafd5a4be08cd",
"tx_hex" : "0100000001d3bf9dba478151ceb5a55397d3829a5c9bfcae7853b7967398524a3a4f1c310500000000b74830450221009b138e20fe0a3c610e9b73864a53dc602931dc6a17997a51e9bc5e4b9f37ae1b0220619a6434f9b9a9d386099813c6b61241a09c528fc32ed30972a3e2a9ad0f936001514c6b6304345e1363b175210315d9c51c657ab1be4ae9d3ab6e76a619d3bccfe830d5363fa168424c0d044732ac6782012088a9141c467fac12d840bbf070d3f82003cc0b96d081918821023c5ba1d7ef6fa015eb33defb3aba2a961898a51bbb7ff30344d07ba75ad3f289ac68feffffff012666f505000000001976a9141462c3dd3f936d595c9af55978003b27c250441f88ac02601363"
},
"type" : "MakerPaymentRefunded"
},
"timestamp" : 1662218513735
},
and LBC
{
"event" : {
"data" : {
"wait_until" : 1662217400
},
"type" : "MakerPaymentWaitRefundStarted"
},
"timestamp" : 1662203053271
},
{
"event" : {
"data" : {
"tx_hash" : "255e7b1b983a1c148f859b12e2c658a84c0b72682a826a45301845f28f32d547",
"tx_hex" : "0100000001b503098864e3918cf280eb4687ad4c38d5729909a8025dbacf73a37ac472d7f500000000b7483045022100b8f83ebedd9667fa94ab09388cb023872de2b46c8206328e6858906ab5f1551202207149b1b9e32b59dd992bae84ca60e596b8bcf440291bb20edf7679ecf2a4c6a001514c6b6304445e1363b175210315d9c51c657ab1be4ae9d3ab6e76a619d3bccfe830d5363fa168424c0d044732ac6782012088a914402a07db3eeaf3ddf947401a34efd6e4014ddc908821023c5ba1d7ef6fa015eb33defb3aba2a961898a51bbb7ff30344d07ba75ad3f289ac68feffffff01f0b9f505000000001976a9141462c3dd3f936d595c9af55978003b27c250441f88ac265f1363"
},
"type" : "MakerPaymentRefunded"
},
"timestamp" : 1662214944337
},
both were refunded properly and automatically
some coins show this behavior on MakerPaymentRefund
"maker_coin" : "NMC"
"maker_coin" : "LBC"
they need to be refunded manually at a later time
to me it looks like it's related to certain coins, NMC and LBC in this cases do they miss something or why is it so?