Split Zoltar, Statoblast, and Trading into shared packages - #738
Merged
Conversation
… (file moves only)
…abNavigation, generic AppHeaderShell/useHashRoute, shared types/app
…ectedEthereum, liveReload
… from route props
…lation, move statoblast scenarios to statoblast, per-app index.html and worker entries
… ReportingSection from securityPoolState
…nState deps injection; simulation scenario registry with statoblast scenario module
…quires root, simulation DI cleanups, moved component import fixes
… imports, projectArtifacts path fix
…esolution via node_modules + project refs)
- Point abis/contractArtifact imports at @zoltar/ui-core-shared
- Add approveErc20 protocol module and barrel export
- Fix getDeploymentSteps dep type to ReadonlyArray<DeploymentStep> in coreShared useOnchainState
- Narrow hash route to zoltar Route union via resolveEnumValue
- Remove security-pool props from MarketRouteContentProps (oracle-only app)
- Replace removed ZOLTAR_ROUTE constant with getRouteHash('zoltar')
- Allow undefined optional onRetryZoltarQuestion handler
- Fix tevmWorker self-imports to relative paths
- Move Trading UI sources and build tooling to ui/trading - Extend workspace scripts, checks, tests, and simulation support for Trading - Update repository documentation and development instructions
- Block execution until pending recovery work is resolved - Move Statoblast contracts and update dependent paths
…oblast-shared' into t3code/split-ui-into-zoltar-statoblast-shared # Conflicts: # workflow-changes/ci.yml # workflow-changes/deploy-testnet.yml # workflow-changes/ipfs-deploy.yml # workflow-changes/setup-ci-action.yml
…zoltar-statoblast-shared # Conflicts: # augurScan/package.json # docs/assets/js/docsSearchData.js
…zoltar-statoblast-shared
…zoltar-statoblast-shared
- Cache, install, build, and upload split UI package artifacts - Ensure deployment checks build missing UI runtime dependencies - Add workflow coverage for split-package CI handoffs
- Align all UI workspaces on TEVM rc.151 - Link UI packages to shared Preact dependencies - Update split-workflow coverage
- Prevent concurrent Chromium smoke runs with the shared test lock - Safely await cleanup when Chromium has already exited
- Bound Chromium initialization and DevTools discovery - Escalate browser termination when graceful cleanup stalls - Install UI workspace dependencies through the frozen installer
- Handle Chromium process errors during termination escalation - Allow DevTools and page-target polling to use initialization deadlines - Add regression coverage for delayed discovery and cleanup failures
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changed
Completes the UI/package split and folds the standalone Trading project into the repository's shared architecture:
ui/coreSharedowns app-neutral components, transaction presentation, simulation infrastructure, routing support, and build tooling.ui/zoltar,ui/statoblast, andui/tradingare independently served and production-built applications.solidity/contracts/trading; their tests live undersolidity/ts/tests/trading.shared/ts/trading, and the former root/tradingpackage has been removed.Shared packages remain dependency roots:
coreSharedhas no app imports, and the applications do not introduce reverse dependencies into it.Shared UI and simulator adoption
coreSharedprimitives.ScalarOutcomePickerandOutcomeSelectionList; strict Trading tick validation preserves out-of-range input instead of silently clamping it.coreShared.?demo=1application andSIMULATED DATA / Demo modebanner are removed.?simulate=1&simScenario=tradingnow boots the shared TEVM worker and shared Browser Simulation controls.Build, runtime, and publishing
ui/coreShared/build/appPaths.mts.ui/<app>/disttrees./zoltar,/statoblast, and/tradingIPFS entry points..githubidentical tomain; split-aware workflow files remain staged separately underworkflow-changes/for manual movement.Screenshots
The current Trading captures use the shared
tradingTEVM scenario. Desktop is 1440×900 and mobile is 390×844. The captured routes mount with Trading-specific title and branding, no legacy demo banner or stale loading fallback, zero runtime errors, and zero failed requests.Validation
origin/mainmerge: 3,216 passed, 16 intentionally skipped live-network tests, 0 failed across 317 files.bun run tsc,bun run format:check,bun run check,bun run check:changed,bun run knip, andbun run check:generated-clean.The branch contains current
origin/mainand preserves theperipherals → statoblastrename through the merge history.