SECURITY: Fixed false “PAYMENT DETECTED – CONFIRMING” showing when no real payment was sent — complete rewrite of blockchain transaction verification logic
Fixed: Direction validation (ETH/BSC/Polygon/Arbitrum/Optimism) — now verifies the transaction to field matches the wallet address; previously ANY transaction on the address (including outgoing) triggered false payment detection
Fixed: Time filtering (all coins) — transactions that occurred before the order was created are now skipped (with 5-minute grace for clock skew), preventing old/historic transactions from triggering false positives
Fixed: Amount validation (all coins) — zero-value, dust, and clearly wrong amounts (below 50% of expected) are now rejected during verification
Fixed: TXID uniqueness (all coins) — the same blockchain transaction can no longer be credited to multiple orders; duplicate txid reuse across orders is now blocked
Fixed: Failed transaction rejection (ETH/TRON) — checks isError, txreceipt_status, and contractRet fields to skip failed/reverted blockchain transactions
Fixed: BTC confirmation count — previously used raw block_height (800,000+) as the confirmation count, causing instant false completion; now correctly calculates confirmations as current_height – tx_block_height + 1 via cached blockchain.info/blockstream API
Fixed: Explorer response caching — changed from caching the parsed result (reused incorrectly across different orders on the same wallet) to caching raw API responses and re-parsing fresh per transaction
Added: TRON destination validation with tron_address_matches() and tron_hex_to_base58() helpers to verify TRX/TRC20 transfer recipients across hex and Base58 address formats
Added: Verified transaction logging — each confirmed match now logs coin type, txid, value, and confirmation count for audit trail
Improved: TRC20 token transfer parsing — now decodes a9059cbb method data to extract recipient address and amount for proper validation
1.1.1
Premium UI redesign — complete admin interface and frontend payment templates redesigned to commercial-quality appearance
Modern design system with CSS custom properties, 8px spacing system, premium typography, and consistent color palette
Premium card layouts with soft shadows, rounded corners (10–14px), hover animations, and proper spacing
Redesigned dashboard with stat cards, hero section, quick actions, and system health indicators
Premium coin management with slide-over panel, subtabs (General, Wallets, Networks, Fees, Advanced), and drag-and-drop reorder
Premium wallet management with card-based layout, status chips, and inline actions
Redesigned transactions table with sticky header, status pills, coin icons, filters, and bulk actions
Premium checkout settings page with toggle switches and grouped settings cards
Premium payment page inspired by Stripe and Coinbase Commerce with animated status bar and QR code
Modern toast notification system with progress bars and auto-dismiss
Command palette (Ctrl+K) for quick navigation between admin pages
Modal system with backdrop blur, focus trapping, and confirmation dialogs
Fixed: Transactions bulk selection using hidden inputs instead of checkboxes (all items always submitted)
Fixed: Checkout settings “Display Mode” (method) field not saved to database
Fixed: Checkout toggle settings (display_coin_logos, show_exchange_rate, show_countdown, auto_cancel, auto_complete, reduce_stock, allow_resume_expired) could never be turned off — unchecked checkboxes defaulted to “yes” instead of “no”
Fixed: Price Feeds page broken HTML rendering due to duplicate closing table tag
Fixed: Coin slide-over panel save could not disable coins or toggle test_mode — jQuery serializes boolean false as string “false” which PHP !empty() treats as truthy (now uses filter_var with FILTER_VALIDATE_BOOLEAN)
Fixed: Duplicate bpCopy() function definition in payment.js
Improved: Real blockchain verification confirmed — payment status only changes based on actual blockchain explorer API responses (blockchain.info, etherscan, bscscan, trongrid, etc.)