chore(release): record explorer pricing rollout and advance repo revisions
This commit is contained in:
Submodule explorer-monorepo updated: 1b5cebf505...1aa81f454a
Submodule metamask-integration updated: f9c7929a41...b15b13c57e
230
reports/status/2026-04-25_EXPLORER_PRICING_COMMIT_PLAN.md
Normal file
230
reports/status/2026-04-25_EXPLORER_PRICING_COMMIT_PLAN.md
Normal 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
|
||||
```
|
||||
101
reports/status/2026-04-25_EXPLORER_PRICING_RELEASE_NOTES.md
Normal file
101
reports/status/2026-04-25_EXPLORER_PRICING_RELEASE_NOTES.md
Normal 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`
|
||||
@@ -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"
|
||||
|
||||
|
||||
Submodule smom-dbis-138 updated: c3b1b2cebc...fcd55aa9c4
Reference in New Issue
Block a user