We are using same code, which worked fine and stopped with update to v21. We use set tx fee before sending any tx.
request
{"method":"settxfee","params":[0.001020],"id":63824,"jsonrpc":"2.0","error":null}
response
{"result":true,"error":null,"id":63824}
right after that we sent btc with
{"method":"sendmany","params":["",{"3FMA2eRqd6ofp1sSifNXNNWPHzp5UW8rH2":0.04543},1,"",null,true],"id":63825,"jsonrpc":"2.0","error":null}
which resulted in:
(our custom response, but in short tx size is 223 bytes. fee 0.00014484 BTC, 65 sat/byte, when it should be 102 sat/byte)
{
"hash" : "969b9f19446145587af06eb87881fcf89d4e171606931959c4a731086ed5584e",
"error" : null,
"transaction" : {
"javaClassName" : "cz.simplecoin.corewallets.http.dto.CryptoTransactionOutputDTO",
"address" : "3FMA2eRqd6ofp1sSifNXNNWPHzp5UW8rH2",
"amount" : -0.04543000,
"outputId" : 1,
"direction" : "Outgoing",
"hash" : "969b9f19446145587af06eb87881fcf89d4e171606931959c4a731086ed5584e",
"currency" : "BTC",
"confirmations" : 0,
"blockHeight" : null,
"blockOrder" : null,
"walletTimestamp" : 1618902716,
"comment" : null,
"walletName" : "BTC-Wallet",
"fee" : -0.00014484,
"fromAddress" : null,
"fetchTimestampMillis" : 1618902716179,
"zombie" : false,
"walletOrder" : -1,
"uuid" : "6fbae8c4-f314-5d96-9195-7f87f0b6f48b",
"javaClassName" : "cz.simplecoin.corewallets.http.dto.CryptoTransactionOutputDTO"
},
"javaClassName" : "cz.simplecoin.corewallets.http.dto.SendSingleDTO"
}
all transactions we send has fee rate 65sat/byte, i know there is new fee params using sat/byte instead btc/kb, but this should not be the case according doc.
we have righ now chain of 100 unconfimed transactions and customers go insane