seekerpay_shop 1.2.1
seekerpay_shop: ^1.2.1 copied to clipboard
Product lookup, catalog, and shop utilities for SeekerPay.
Changelog #
1.2.1 #
- Restore Scan Label button in
OrderCartSheetheader — tapsMrpScanSheet(OCR + AI label reader) alongside the existing barcode scan button.
1.2.0 #
- Add tax support to
Order:taxRate,country,taxUsd,taxLabel(auto-detects GST/VAT/TAX by country). - Add inventory tracking to
Product:stockLevel,lowStockThreshold,isLowStock,isOutOfStock. - Add
OrderNotifier.setTaxRateandsetCountry; all mutating methods are now async with an init-completion guard. - Add
HistoryNotifier.decrementStockto reduce stock levels after a completed order. - Add loyalty check to
OrderCartSheet: scan customer wallet QR →LoyaltyNftService.customerHasLoyaltyPass→ auto-apply discount. AcceptsloyaltyEnabled,loyaltyDiscountPct, andmerchantAddressparams. - Add
ProductScanStatus.idleandProductScanNotifier.startScanning()to prevent scans during sheet initialisation. - Fix Irys upload: switch from signature type 4 (Solana) to type 2 (Ed25519 generic) and add
uploader.irys.xyz+turbo.ardrive.ioas upload endpoints.
1.1.0 #
- Add native SOL payment support and multi-token utilities.
- Enhance Order model and notifier with multi-token persistence.
- Synchronize with seekerpay_core 1.3.0.
1.0.5 #
- UI: Shop config tiles (
ShopLlmSettings,ClaudeVisionSettings) — replaced yellow accent with white, transparent card backgrounds, consistent input fills and switch colors for dark purple shop mode theme.
1.0.4 #
- Product Catalog Arweave Sync:
ArweaveOrderService.saveProduct()— encrypts and uploads products to Arweave withType=product_catalogtag.ArweaveOrderService.restoreProducts()— decrypts all catalog records; deduplicates by barcode keeping the latestsavedAtversion.ArweaveOrderService.syncProducts()— pull-only sync; merges remote products missing locally and fills inownerPriceUsdfrom Arweave where local has none.ArweaveOrderClient.queryProducts()— new GraphQL query targetingType=product_catalog(refactored shared_query()helper).ArweaveProductSyncResultmodel for product sync results.
ownerPriceUsdpriority in scanning:ProductScanSheetnow pre-fills price withownerPriceUsd(merchant's set price) instead oflastPriceUsdwhen a local catalog match is found.
HistoryNotifierimprovements:updateProduct()/saveOrder()/deleteProduct()now keepProductCatalogService(SharedPreferences) in sync so barcode lookup always sees the latestownerPriceUsd.updateProduct()triggers an async Arweave backup immediately after save.startBackgroundSync()now pulls the product catalog from Arweave alongside orders.
- Order cart:
- Manual item entry (
ADD ITEM MANUALLYbutton) — type name + price without scanning. - Order-level discount — flat
$or%discount with live preview; stored asdiscountUsdonOrder; backward-compatible JSON. setDiscount()added toOrderNotifier.- Dialog overflow fixed for keyboard-up state (
insetPadding+SingleChildScrollView).
- Manual item entry (
- Payment tolerance:
- Overpayment auto-accepts; underpayment shows orange
PARTIAL PAYMENTbanner with remaining SKR; QR updates to remaining amount.
- Overpayment auto-accepts; underpayment shows orange
1.0.3 #
- Arweave/Irys Sync Fixes:
- Corrected Ed25519 signature implementation for Solana (Irys requires hex-encoded ASCII signing of the deepHash).
- Standardized
deepHashimplementation to Arweave 2.0 specs. - Implemented multi-node GraphQL failover (node1, node2, uploader, arweave.net).
- Increased query timeouts to 90s and added retry logic to handle network lag.
- UI Enhancements:
- Redesigned configuration alerts with a modern dark theme and context-aware icons.
- Added a 'CONFIGURE' button to jump directly to shop settings.
- Dependencies:
- Added
go_routerfor improved navigation handling.
- Added
1.0.2 #
- Added fallback for barcode lookup via Open Food Facts (free)
- Added documentation comments to
ProductLookupService
1.0.1 #
- Remove unused imports, fields, and local variables
- Replace deprecated
withOpacity()withwithValues(alpha:)
1.0.0 #
- Initial release
- Barcode and MRP label scanning with Google ML Kit
- On-device AI (Gemma 3 1B via flutter_gemma) and cloud AI (Claude Vision) label reading
- Product lookup via Barcode Lookup API
- Order cart with SKR token pricing
- Scan and order history with SharedPreferences
- Arweave/Irys decentralised order storage
- Currency conversion utilities
- Riverpod-based state management