Retire the legacy standalone chestshop-database plugin (its own MariaDB + /find GUI + holograms) and re-home its functionality:
chestshop_shop + chestshop_sale (V6) via MarketApi/MarketListener — the same four ChestShop events the legacy ChestShopListener hooks (create / destroy / transaction / inventory-close)./find chest GUI, holograms, sorting/filtering, WorldEdit/WorldGuard adapters) that reads Treasury's market data (DB direct or via the public /api/v1/chestshop/** endpoints, PAR-116) instead of keeping its own store.Treasury's V6 chestshop_shop/chestshop_sale is a superset of the legacy Shop table on the owner/item/price/stock axes and adds per-trade history + ledger linkage the legacy plugin never had. The remaining work is a short list of data-model gaps + porting the plugin-side presentation features.
Legacy Shop/Item/PreviewPreference (MariaDB, world UUID key, owner_name string, shared Item(item_bytes) table, estimated_capacity, visible, hologram, per-player preview pref) vs Treasury chestshop_shop/chestshop_sale (world name key, structured owner account/firm/admin, item_key/material/item_data-when-custom, current_stock, no capacity/visible/hologram).
chestshop_shop/find)/find search GUI core (sort/filter/search, resolve owners → accounts)/find resync admin command (chunk scan → MarketApi.upsertShop)/find has everything it needs to render + filter).chestshop-database once /find reads Treasury and the registry is backfilled.