Several improvements to cryptocurrency and e-wallet payouts, more stable, and more resilient to blockchain node or network failures. Expanded blacklist condition parameters, optimized database storage, and introduced a minor admin interface changes for invoice creation. Fixed various rare bugs regarding incorrect payout statuses, simultaneous crypto token transfers, and currency conversion algorithms.
Improvements
- Added new parameters to the blacklist conditions: payment gateway, payment method, payment extra data.
- Broadcasting is repeated in the event of a failure of sending transaction to nodes. Affected payment modules: ETH Ethereum and ERC20 tokens, TRX Tron, BNB Binancecoin and BEP20 tokens, ETC Ethereum Classic.
- Admin page for invoice creation now has 2 variants that can be switched in the page top: either use the minimal amount of invoice parameters, or maximal one.
- Added validation of TRON nodes response that increases stability of TRX payouts.
- The processing of blocks received from the blockchain has been optimized, which speeds up payment processing in cases of high intensity of cryptocurrency payment gateway usage.
- Minor structural changes to the database have been made to reduce the amount of storage space it occupies.
- The algorithm for sending the payment amount has been changed; therefore, the macro “{payment.payment_option_filled}” has been replaced with “{paymentData.payment_option_amount_with_fee}” in the following payment gateways: Paylama, Capitalist, Primepayments, Skrill, Volet/AdvCash.
Fixes
- Fixed bug that caused the “Error” status to be incorrectly assigned during some failures of Ethereum-like currency payment broadcasting. Affected payment modules: Binancecoin (BNB), BEP20 tokens, TRON (TRX), TRC20 tokens, Ethereum (ETH), ERC20 tokens, Ethereum Classic (ETC).
- Fixed incorrect payout status “Paid” in case of sending several concurrent payouts with TRC20, ERC20, or BEP20 tokens but sending address has no enough resources (gas, energy, or bandwidth).
- Fixed a rare issue then node responses an outdated “nonce” during the payout. Affected modules: ETH Ethereum and ERC20 tokens, TRX Tron and TRC20 tokens, BNB Binancecoin and BEP20 tokens, ETC Ethereum Classic.
- The behavior of the TRON energy rental module has been fixed in the event of network disconnections to the rental service.
- Fixed a bug that caused incorrect detection of “dust” when “dust protection” is disabled in the payment gateway settings.
- Corrected algorithm for currency conversion via an intermediate currency (USD or BTC); this algorithm is used when direct exchange rates for these currencies are not available in any sources.
- Fixed bug that caused an invoice to be “Underpaid” if a smaller number of decimal places was specified in the payment gateway settings.
- The payout process now includes handling for situations in which multiple payment gateways with the same BIP44 account key (xPub or xPriv) have been created in the engine.
