KomodoPlatform / komodo-defi-framework

This is the official Komodo DeFi Framework repository
https://komodoplatform.com/en/docs/komodo-defi-framework/
103 stars 94 forks source link

GRS-segwit swaps are failing #1994

Open cipig opened 11 months ago

cipig commented 11 months ago

To reproduce enable GRS-segwit on taker and try to buy some GRS-segwit. In my test maker showed this in log

13 11:23:19, mm2_main::mm2::lp_swap::maker_swap:881] INFO Maker payment sent: Maker payment tx 43750e51d49dd27571d98ac67a4a58d3cbebd634be8908ecf1acfb5ace7eb89a

while taker showed this

13 11:23:19, mm2_main::mm2::lp_swap::taker_swap:1345] INFO Got maker payment d56267239d987c0e4005b729972e85a98c4b7972cff5b976830130427bc5bff1

the txid from makerpayment is different, the one from taker is wrong, the one from maker correct: https://blockchair.com/groestlcoin/transaction/43750e51d49dd27571d98ac67a4a58d3cbebd634be8908ecf1acfb5ace7eb89a

taker then fails the swap because it is looking for the wrong txid on the electrums:

taker_swap:1372] !wait for maker payment confirmations: rpc_clients:185] Tx d56267239d987c0e4005b729972e85a98c4b7972cff5b976830130427bc5bff1 was not found on chain after 10 tries, error: rpc_clients:2250] JsonRpcError { client_info: "coin: GRS-segwit", request: JsonRpcRequest { jsonrpc: "2.0", id: "151", method: "blockchain.transaction.get", params: [String("d56267239d987c0e4005b729972e85a98c4b7972cff5b976830130427bc5bff1"), Bool(true)] }, error: Response(electrum12.groestlcoin.org:50001, Object({"code": Number(2), "message": String("daemon error: DaemonError({'code': -5, 'message': 'No such mempool or blockchain transaction. Use gettransaction for wallet transactions.'})")})) }
gcharang commented 11 months ago

there seem to be issues with sending too. At least 2 users reported a similar error:

[
    {
        "error": "rpc:211] dispatcher_legacy:141] lp_coins:3606] utxo_common:2597] rpc_clients:2235] JsonRpcError { client_info: "coin: GRS-segwit", request: JsonRpcRequest { jsonrpc: "2.0", id: "17", method: "blockchain.transaction.broadcast", params: [String("010000000001015cc141c559d77d4d1c825cffc4c60e141788ae99098dcae92ce73e1330e6936d0000000000ffffffff01a8e0a7ab00000000160014ae8895781d590dd8e68cffebc3cea5059dbcb35e02483045022100f9c160030c5359f57bb30fcd79c1eda062cb25d3da8a3c2e10103514b87420dd022035897b290923b74a1f1e50ec4e9136bf801c1ffac971db06d55e57b8149ff15b012103d479e35f8967ef8932ccf5e51e01ecd2102de1750b7da21177f0b60a10332fed6a9a3a65")] }, error: Response(electrum12.groestlcoin.org:50001, Object({"code": Number(1), "message": String("the transaction was rejected by network rules.\n\nnon-mandatory-script-verify-flag (Signature must be zero for failed CHECK(MULTI)SIG operation)\n[010000000001015cc141c559d77d4d1c825cffc4c60e141788ae99098dcae92ce73e1330e6936d0000000000ffffffff01a8e0a7ab00000000160014ae8895781d590dd8e68cffebc3cea5059dbcb35e02483045022100f9c160030c5359f57bb30fcd79c1eda062cb25d3da8a3c2e10103514b87420dd022035897b290923b74a1f1e50ec4e9136bf801c1ffac971db06d55e57b8149ff15b012103d479e35f8967ef8932ccf5e51e01ecd2102de1750b7da21177f0b60a10332fed6a9a3a65]")})) }"
    }
]

cc: @shamardy

JoeShild commented 9 months ago

That's what I noticed guys! WIF keys for GRS and segwitGRS are different. At the same time, there is one strange point: it is the WIFkey of the GRS that differs from the segwitGRS because the WIFs of the segwitGRS and other forks (including segwitBTC) are the same. BUT! swaps with NOTsegwitGRS (with the “wrong” key) go fine! GUI desktop Komodo v0.6.1 beta @gcharang

cipig commented 9 months ago

does it mean that GRS-segwit needs a different setting for wiftype? atm it's the same as GRS, see https://github.com/KomodoPlatform/coins/blob/master/coins#L5492

JoeShild commented 9 months ago

in these WIFs only the last six digits differ. probably a mistake