chore(release): record explorer pricing rollout and advance repo revisions
Some checks failed
AI Code Review / claude-review (pull_request) Failing after 1m5s
Validate (PR) / run-all-validation (pull_request) Failing after 27s

This commit is contained in:
defiQUG
2026-04-25 23:45:28 -07:00
parent 4b0512e66d
commit 240fec0c8e
6 changed files with 335 additions and 5 deletions

View File

@@ -0,0 +1,230 @@
# Explorer Pricing And Historical Valuation Commit Plan
Date: `2026-04-25`
Workspace root: `/home/intlc/projects/proxmox`
## Scope
This commit plan covers the explorer pricing, historical valuation, deployment, and MetaMask Snap integration work completed in this change series.
It intentionally excludes unrelated dirty files already present in the parent workspace, including Solana relay inventory/docs changes and other non-explorer operational edits.
## Excluded Unrelated Workspace Changes
The following dirty paths were observed in the parent repo and should not be mixed into the pricing release:
- `config/solana-gru-bridge-lineup.json`
- `config/solana-relay-runtime.json`
- `docs/01-getting-started/METAMASK_QUICK_START_GUIDE.md`
- `docs/03-deployment/CHAIN138_TO_SOLANA_GRU_TOKEN_DEPLOYMENT_LINEUP.md`
- `docs/04-configuration/ADD_CHAIN138_TO_TRUST_WALLET.md`
- `docs/04-configuration/TOKEN_LIST_PR_REVIEW.md`
- `docs/04-configuration/pr-ready/eip155-138-package/trust-wallet-registry-chain138.json`
- `docs/04-configuration/pr-ready/trust-wallet-registry-chain138.json`
- `docs/11-references/LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE.md`
- `docs/MASTER_INDEX.md`
- `docs/streaming-platform/`
- `reports/status/solana-relay-worker-health.json`
- `scripts/verify/build-non-evm-lane-status.py`
- `scripts/verify/check-solana-relay-e2e-readiness.py`
- `scripts/verify/run-all-validation.sh`
- `cross-chain-pmm-lps` submodule pointer
## Commit Set
Because the work spans multiple nested repos, the cleanest release is a coordinated multi-repo commit set.
### Commit 1
Repo: `explorer-monorepo`
Message:
```text
feat(explorer): add live token/native pricing and legacy tx route compatibility
```
Include:
- `backend/api/rest/mission_control.go`
- `backend/api/rest/mission_control_test.go`
- `backend/database/migrations/0014_swap_events_price_columns.up.sql`
- `backend/database/migrations/0014_swap_events_price_columns.down.sql`
- `deployment/systemd/solacescanscout-frontend.service`
- `docs/CHAINLIST_METAMASK_BLOCKSCOUT_RELATIONSHIP.md`
- `frontend/next-env.d.ts`
- `frontend/next.config.js`
- `frontend/package-lock.json`
- `frontend/package.json`
- `frontend/scripts/start-standalone.mjs`
- `frontend/src/components/home/HomePage.tsx`
- `frontend/src/pages/addresses/[address].tsx`
- `frontend/src/pages/search/index.tsx`
- `frontend/src/pages/tokens/[address].tsx`
- `frontend/src/pages/tokens/index.tsx`
- `frontend/src/pages/transactions/[hash].tsx`
- `frontend/src/services/api/nativeAssetPricing.ts`
- `frontend/src/services/api/nativeAssetPricing.test.ts`
- `frontend/src/services/api/tokenAggregation.ts`
- `frontend/src/services/api/tokens.ts`
- `frontend/src/services/api/tokens.test.ts`
- `scripts/check-block-explorer-tx.sh`
- `scripts/deploy-next-frontend-to-vmid5000.sh`
- `scripts/wrap-and-bridge-to-ethereum.sh`
Purpose:
- Redirect legacy `/tx/:hash` URLs to `/transactions/:hash`
- Replace null token pricing with live token-aggregation pricing
- Add live price context to home, search, token, address, and transaction surfaces
- Add current native asset pricing to address/transaction pages
- Distinguish current pricing from transfer-time valuation semantics
- Fix Next 15 standalone deployment packaging and service startup
- Update explorer-side producers/docs to emit canonical transaction URLs
### Commit 2
Repo: `smom-dbis-138`
Message:
```text
feat(token-aggregation): add historical pricing context, backfill, and indexer hardening
```
Include:
- `services/token-aggregation/deploy-to-vmid.sh`
- `services/token-aggregation/docs/REST_API_REFERENCE.md`
- `services/token-aggregation/package-lock.json`
- `services/token-aggregation/package.json`
- `services/token-aggregation/scripts/backfill-historical-pricing.ts`
- `services/token-aggregation/scripts/bootstrap-lightweight-schema.sql`
- `services/token-aggregation/src/adapters/coingecko-adapter.ts`
- `services/token-aggregation/src/api/routes/admin.ts`
- `services/token-aggregation/src/api/routes/omnl-ipsas.ts`
- `services/token-aggregation/src/api/routes/tokens.test.ts`
- `services/token-aggregation/src/api/routes/tokens.ts`
- `services/token-aggregation/src/backfill-historical-pricing.ts`
- `services/token-aggregation/src/database/repositories/swap-event-repo.ts`
- `services/token-aggregation/src/indexer/chain-indexer.ts`
- `services/token-aggregation/src/indexer/cross-chain-indexer.ts`
- `services/token-aggregation/src/indexer/ohlcv-generator.ts`
- `services/token-aggregation/src/indexer/pool-indexer.ts`
- `services/token-aggregation/src/services/historical-pricing-backfill.ts`
Purpose:
- Add `price-at` and `pricing-context` endpoints for current + historical valuation
- Persist swap-event pricing inputs needed for OHLCV and replay
- Add historical backfill tooling
- Prevent stale OHLCV from being marked as locked historical pricing
- Prevent CoinGecko historical fallback from using future datapoints
- Add overlap protection and adaptive RPC log-range chunking
- Make deploys deterministic and production-safe
- Upgrade runtime/dev dependencies and clear audit debt
### Commit 3
Repo: `metamask-integration`
Message:
```text
feat(chain138-snap): add snap-ready pricing methods and integrator docs
```
Include:
- `chain138-snap/INTEGRATORS.md`
- `chain138-snap/docs/SNAP_PRICING_REQUIREMENTS.md`
- `chain138-snap/packages/snap/README.md`
- `chain138-snap/packages/snap/snap.manifest.json`
- `chain138-snap/packages/snap/src/index.tsx`
Purpose:
- Expose Snap-facing pricing methods for current and historical valuation
- Document the exact API payloads and integration expectations
- Align Snap manifest/docs with the new pricing context flow
## Suggested Commit Commands
### explorer-monorepo
```bash
git -C /home/intlc/projects/proxmox/explorer-monorepo add \
backend/api/rest/mission_control.go \
backend/api/rest/mission_control_test.go \
backend/database/migrations/0014_swap_events_price_columns.up.sql \
backend/database/migrations/0014_swap_events_price_columns.down.sql \
deployment/systemd/solacescanscout-frontend.service \
docs/CHAINLIST_METAMASK_BLOCKSCOUT_RELATIONSHIP.md \
frontend/next-env.d.ts \
frontend/next.config.js \
frontend/package-lock.json \
frontend/package.json \
frontend/scripts/start-standalone.mjs \
frontend/src/components/home/HomePage.tsx \
frontend/src/pages/addresses/[address].tsx \
frontend/src/pages/search/index.tsx \
frontend/src/pages/tokens/[address].tsx \
frontend/src/pages/tokens/index.tsx \
frontend/src/pages/transactions/[hash].tsx \
frontend/src/services/api/nativeAssetPricing.ts \
frontend/src/services/api/nativeAssetPricing.test.ts \
frontend/src/services/api/tokenAggregation.ts \
frontend/src/services/api/tokens.ts \
frontend/src/services/api/tokens.test.ts \
scripts/check-block-explorer-tx.sh \
scripts/deploy-next-frontend-to-vmid5000.sh \
scripts/wrap-and-bridge-to-ethereum.sh
git -C /home/intlc/projects/proxmox/explorer-monorepo commit -m "feat(explorer): add live token/native pricing and legacy tx route compatibility"
```
### smom-dbis-138
```bash
git -C /home/intlc/projects/proxmox/smom-dbis-138 add \
services/token-aggregation/deploy-to-vmid.sh \
services/token-aggregation/docs/REST_API_REFERENCE.md \
services/token-aggregation/package-lock.json \
services/token-aggregation/package.json \
services/token-aggregation/scripts/backfill-historical-pricing.ts \
services/token-aggregation/scripts/bootstrap-lightweight-schema.sql \
services/token-aggregation/src/adapters/coingecko-adapter.ts \
services/token-aggregation/src/api/routes/admin.ts \
services/token-aggregation/src/api/routes/omnl-ipsas.ts \
services/token-aggregation/src/api/routes/tokens.test.ts \
services/token-aggregation/src/api/routes/tokens.ts \
services/token-aggregation/src/backfill-historical-pricing.ts \
services/token-aggregation/src/database/repositories/swap-event-repo.ts \
services/token-aggregation/src/indexer/chain-indexer.ts \
services/token-aggregation/src/indexer/cross-chain-indexer.ts \
services/token-aggregation/src/indexer/ohlcv-generator.ts \
services/token-aggregation/src/indexer/pool-indexer.ts \
services/token-aggregation/src/services/historical-pricing-backfill.ts
git -C /home/intlc/projects/proxmox/smom-dbis-138 commit -m "feat(token-aggregation): add historical pricing context, backfill, and indexer hardening"
```
### metamask-integration
```bash
git -C /home/intlc/projects/proxmox/metamask-integration add \
chain138-snap/INTEGRATORS.md \
chain138-snap/docs/SNAP_PRICING_REQUIREMENTS.md \
chain138-snap/packages/snap/README.md \
chain138-snap/packages/snap/snap.manifest.json \
chain138-snap/packages/snap/src/index.tsx
git -C /home/intlc/projects/proxmox/metamask-integration commit -m "feat(chain138-snap): add snap-ready pricing methods and integrator docs"
```
## Parent Workspace Follow-Up
After the nested repo commits are pushed, update the parent repo submodule pointers only if you want the workspace root to track the new nested revisions in a single coordination commit.
Suggested parent message:
```text
chore(submodules): advance explorer pricing and snap integration revisions
```

View File

@@ -0,0 +1,101 @@
# Explorer Pricing And Historical Valuation Release Notes
Date: `2026-04-25`
Release scope: Chain 138 explorer pricing, historical valuation, token-aggregation service, and MetaMask Snap pricing integration
## Summary
This release adds live market pricing across the Chain 138 explorer, introduces transfer-time historical valuation support, restores compatibility for legacy transaction links, hardens pricing/indexer operations, and exposes Snap-ready pricing methods for wallet integrations.
## User-Facing Changes
### Explorer
- Legacy explorer transaction links using `/tx/:hash` now redirect to `/transactions/:hash`
- Token detail pages now show live current-market pricing from token-aggregation
- Search results now show live token price and visible liquidity
- Address token views now include live price context
- Transaction token-transfer sections now include live token pricing
- Native transfers now show current native asset USD context on address and transaction pages
- Native/current pricing and transfer-time/historical pricing are now treated separately
### Historical Valuation
- The pricing API now supports transfer-time lookup through token `price-at` and `pricing-context`
- Historical valuation is only marked `locked` when the source is acceptable for transfer-time use
- Stale OHLCV candles no longer masquerade as locked transfer-time prices
- Historical CoinGecko fallback no longer uses future datapoints
### MetaMask Snap
- Snap-side pricing methods were added for current price, historical price, and pricing context
- Integrator documentation now specifies the exact API payloads and fallback behavior
## Operational Changes
- Swap-event persistence was extended to support historical pricing backfill and replay
- Historical backfill tooling was added for token-aggregation
- Indexers now avoid overlapping runs
- RPC log scans now use adaptive chunking when providers reject large ranges
- Token-aggregation deploys are deterministic and production-safe
- Frontend standalone deployment now correctly handles Next 15 nested standalone output
## Key Files
### Explorer repo
- [mission_control.go](/home/intlc/projects/proxmox/explorer-monorepo/backend/api/rest/mission_control.go)
- [solacescanscout-frontend.service](/home/intlc/projects/proxmox/explorer-monorepo/deployment/systemd/solacescanscout-frontend.service)
- [next.config.js](/home/intlc/projects/proxmox/explorer-monorepo/frontend/next.config.js)
- [HomePage.tsx](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/components/home/HomePage.tsx)
- [addresses/[address].tsx](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/pages/addresses/[address].tsx)
- [search/index.tsx](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/pages/search/index.tsx)
- [tokens/[address].tsx](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/pages/tokens/[address].tsx)
- [transactions/[hash].tsx](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/pages/transactions/[hash].tsx)
- [nativeAssetPricing.ts](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/services/api/nativeAssetPricing.ts)
- [tokenAggregation.ts](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/services/api/tokenAggregation.ts)
- [tokens.ts](/home/intlc/projects/proxmox/explorer-monorepo/frontend/src/services/api/tokens.ts)
### Token-aggregation repo
- [tokens.ts](/home/intlc/projects/proxmox/smom-dbis-138/services/token-aggregation/src/api/routes/tokens.ts)
- [coingecko-adapter.ts](/home/intlc/projects/proxmox/smom-dbis-138/services/token-aggregation/src/adapters/coingecko-adapter.ts)
- [pool-indexer.ts](/home/intlc/projects/proxmox/smom-dbis-138/services/token-aggregation/src/indexer/pool-indexer.ts)
- [cross-chain-indexer.ts](/home/intlc/projects/proxmox/smom-dbis-138/services/token-aggregation/src/indexer/cross-chain-indexer.ts)
- [chain-indexer.ts](/home/intlc/projects/proxmox/smom-dbis-138/services/token-aggregation/src/indexer/chain-indexer.ts)
- [historical-pricing-backfill.ts](/home/intlc/projects/proxmox/smom-dbis-138/services/token-aggregation/src/services/historical-pricing-backfill.ts)
- [deploy-to-vmid.sh](/home/intlc/projects/proxmox/smom-dbis-138/services/token-aggregation/deploy-to-vmid.sh)
### MetaMask integration repo
- [index.tsx](/home/intlc/projects/proxmox/metamask-integration/chain138-snap/packages/snap/src/index.tsx)
- [SNAP_PRICING_REQUIREMENTS.md](/home/intlc/projects/proxmox/metamask-integration/chain138-snap/docs/SNAP_PRICING_REQUIREMENTS.md)
## Validation
### Explorer frontend
- `npm audit` -> `0` vulnerabilities
- `npm run lint` -> passed
- `npm run type-check` -> passed
- `npm run test:unit -- src/services/api/nativeAssetPricing.test.ts` -> passed
- `npm run build` -> passed
### Token-aggregation
- `npm audit` -> `0` vulnerabilities
- `npm test -- --runTestsByPath src/api/routes/tokens.test.ts` -> passed
- `npm run build` -> passed
### Live verification
- `https://explorer.d-bis.org/tx/0xd61be3f32beb7c18782a41cf38c1d7a2f4ac7585ec656d62b7bc58b4d0ac4ebe` -> `308` redirect to `/transactions/...`
- `https://explorer.d-bis.org/transactions/0xd61be3f32beb7c18782a41cf38c1d7a2f4ac7585ec656d62b7bc58b4d0ac4ebe` -> `200`
- `token-aggregation` service on CT `5000` -> `active`
- `solacescanscout-frontend` service on CT `5000` -> `active`
## Notes
- Current-market pricing is used on address and token detail pages
- Transfer-time pricing is used through the historical pricing context path when a valid locked source exists
- If no acceptable historical source exists, the API now explicitly returns fallback pricing with `locked: false`

View File

@@ -101,8 +101,7 @@ fi
echo ""
echo "=========================================="
info "Explorer Links:"
echo " Blockscout: $EXPLORER_URL/tx/$TX_HASH"
echo " Blockscout: $EXPLORER_URL/transactions/$TX_HASH"
echo " Direct API: $EXPLORER_URL/api/v1/transactions/$TX_HASH"
echo ""
info "To get full details, visit the explorer or use the API directly"