Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
0a9c995
Split ui/ into ui/coreShared, ui/zoltar, ui/statoblast package layout…
KillariDev Aug 17, 2026
4ec65ce
Add package.json and tsconfig for coreShared, zoltar, statoblast
KillariDev Aug 17, 2026
e8f6d61
Rewrite cross-package imports to @zoltar/ui-* aliases
KillariDev Aug 17, 2026
0977a07
Make coreShared shell route-agnostic: routing registry, data-driven T…
KillariDev Aug 17, 2026
3dc38b7
Remove superseded single-package ui root files (replaced by three pac…
KillariDev Aug 17, 2026
e0ffc06
Add build/serve scripts to coreShared, zoltar, statoblast package.json
KillariDev Aug 17, 2026
a9023cd
Add statoblast types/app, protocol barrel, features/types barrel, inj…
KillariDev Aug 17, 2026
2dacdc5
Trim zoltar protocol barrel to zoltar-native modules
KillariDev Aug 17, 2026
cbf8710
Add statoblast app shell, route effects, route content, bootstrap ent…
KillariDev Aug 17, 2026
25ab183
Add generic form-input parsers to coreShared/lib/formInputs
KillariDev Aug 17, 2026
1743f31
Slim zoltar types/app to three routes and Zoltar form states
KillariDev Aug 17, 2026
80dc7bb
Add statoblast transactionPresentations re-export barrel
KillariDev Aug 17, 2026
9878942
Add zoltar form-defaults module for oracle and reporting state
KillariDev Aug 17, 2026
fe5d490
Move generic scalarOutcome and marketType helpers to coreShared/lib
KillariDev Aug 17, 2026
0561794
Use zoltar formDefaults module for migration form state in market sec…
KillariDev Aug 17, 2026
d643002
Trim zoltar features barrel to Zoltar view and section prop contracts
KillariDev Aug 17, 2026
b471ec8
Add zoltar-native ZoltarSection and strip statoblast routes from AppR…
KillariDev Aug 17, 2026
0162cfe
Reduce zoltar page title and route effects to the three zoltar routes
KillariDev Aug 17, 2026
d604eb5
Rewrite zoltar App for three routes and remove market-creation wiring…
KillariDev Aug 17, 2026
adcb51f
Install zoltar routing config at bootstrap and mount the zoltar App
KillariDev Aug 17, 2026
b9f867c
Point repPriceSource at coreShared pricing copy
KillariDev Aug 17, 2026
6bbedc1
Fix coreShared layer violations: inject protocol deps into hooks/simu…
KillariDev Aug 17, 2026
485f544
Move generic Question/outcome/banner components and hasDeployedStep t…
KillariDev Aug 17, 2026
3b48e3a
Move oracle price display helpers to zoltar open-oracle lib; decouple…
KillariDev Aug 17, 2026
faa3e94
Relocate zoltar/statoblast-coupled tests out of coreShared; useOnchai…
KillariDev Aug 17, 2026
8429579
coreShared typecheck fixes: AppPageHeading formatter prop, appRoot re…
KillariDev Aug 17, 2026
0d8f10e
Project references: composite tsconfigs, coreShared internal relative…
KillariDev Aug 17, 2026
53fe6f7
Package exports for js output; drop tsconfig paths for ui packages (r…
KillariDev Aug 17, 2026
41eb501
UseOnchainStateDependencies.getDeploymentSteps returns DeploymentStep
KillariDev Aug 17, 2026
d81ee28
fix(ui/zoltar): make zoltar package typecheck
KillariDev Aug 17, 2026
2ef8532
Fix statoblast typecheck: protocol barrel imports, Route narrowing, d…
KillariDev Aug 18, 2026
c49d66d
Fix zoltar/statoblast test suites: routing test util, exports map for…
KillariDev Aug 18, 2026
f65a2f0
Split deployments per app, fix zoltar quoter tests via DI seam
KillariDev Aug 18, 2026
dc2f2b0
Fix statoblast tests after UI split
KillariDev Aug 18, 2026
6e29d91
Fix statoblast test suite: routing installs, DI seams, leaf imports
KillariDev Aug 18, 2026
f280f3a
Format and tsc fixes for split packages
KillariDev Aug 18, 2026
17a859e
Knip workspaces config, dead code cleanup, lint fixes
KillariDev Aug 18, 2026
70c83b6
Ignore generated js/vendor in split UI packages, fix dev-server root
KillariDev Aug 18, 2026
e999eb3
Regenerate js output for split UI packages
KillariDev Aug 18, 2026
a96de79
Move CI cache-key change to root patch for manual application
KillariDev Aug 18, 2026
ade6323
Remove generated js output from ui packages; rely on .gitignore
KillariDev Aug 18, 2026
779a2e8
Stop tracking generated contractArtifact and abis in ui packages
KillariDev Aug 18, 2026
6bfcf99
Stop tracking generated abis in ui packages
KillariDev Aug 18, 2026
780ddac
Add shared UI contract declarations
KillariDev Aug 18, 2026
cf519eb
Split production builds and refresh deployment manifests
KillariDev Aug 19, 2026
fcf057e
Route completed deployments to app-specific destinations
KillariDev Aug 19, 2026
ad42aea
Support split UI apps in CI and deployment
KillariDev Aug 19, 2026
6dc3bd7
Add UI build DAG checks and browser smoke tests
KillariDev Aug 19, 2026
8bf9a46
Finish split UI build and deployment wiring
KillariDev Aug 20, 2026
4396bb1
Merge origin/main into split UI branch
KillariDev Aug 20, 2026
0ee9186
Merge latest origin/main
KillariDev Aug 20, 2026
7ca966e
Fix Statoblast simulation refresh and generated declarations
KillariDev Aug 20, 2026
b4b52a4
Split the Trading UI into its own application package
KillariDev Aug 20, 2026
dc19df5
Merge branch 'main' into t3code/split-ui-into-zoltar-statoblast-shared
KillariDev Aug 20, 2026
30ac80e
move workflow
KillariDev Aug 20, 2026
f6bcdcb
Move trading contracts into shared project layout
KillariDev Aug 20, 2026
e577d89
Add staged-operation recovery and split operator dashboard pages
KillariDev Aug 20, 2026
6ddba8d
Finalize trading integration and split UI merge
KillariDev Aug 20, 2026
71b7ff3
Merge remote-tracking branch 'origin/t3code/split-ui-into-zoltar-stat…
KillariDev Aug 20, 2026
3588dcd
Share transaction and layout UI across apps
KillariDev Aug 21, 2026
3088059
Merge remote-tracking branch 'origin/main' into t3code/split-ui-into-…
KillariDev Aug 21, 2026
a69a321
Flatten shared trading workflow layout
KillariDev Aug 21, 2026
83b1f89
Preserve strict trading transaction review semantics
KillariDev Aug 21, 2026
61cad18
Use shared TEVM simulation in trading UI
KillariDev Aug 21, 2026
89c6563
Merge remote-tracking branch 'origin/main' into t3code/split-ui-into-…
KillariDev Aug 21, 2026
2de8f6e
Fix Trading simulator navigation and QA
KillariDev Aug 21, 2026
58ec2e7
Merge remote-tracking branch 'origin/main' into t3code/split-ui-into-…
KillariDev Aug 21, 2026
7bada36
Update CI for split UI packages
KillariDev Aug 21, 2026
e4f2004
move
KillariDev Aug 21, 2026
1c29fcb
Pin TEVM dependencies and enforce UI Preact singleton
KillariDev Aug 21, 2026
bc0d269
Share Preact signals across UI installs
KillariDev Aug 21, 2026
4e34cce
Serialize browser smoke checks and handle exited Chromium
KillariDev Aug 21, 2026
6110455
Harden browser smoke cleanup
KillariDev Aug 21, 2026
dbef8e7
Harden browser smoke cleanup
KillariDev Aug 21, 2026
51b0d59
Harden browser smoke initialization and cleanup
KillariDev Aug 21, 2026
0ede4b2
Stabilize browser timeout regressions
KillariDev Aug 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
81 changes: 69 additions & 12 deletions .coverage-policy.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,56 @@
"version": 1,
"typescript": {
"ui": {
"minimumLines": 88.056,
"minimumFunctions": 80.397,
"allowedUnloadedFiles": ["ui/ts/app/App.tsx", "ui/ts/features/open-oracle/hooks/usePriceOracleManager.ts", "ui/ts/features/universes/hooks/useZoltarOperations.ts", "ui/ts/index.ts", "ui/ts/simulation/tevmEngine.ts", "ui/ts/simulation/tevmWorker.ts"]
"minimumLines": 85.836,
"minimumFunctions": 75.376,
"allowedUnloadedFiles": [
"ui/coreShared/ts/app/components/AppPageHeading.tsx",
"ui/coreShared/ts/app/components/GlobalTransactionTray.tsx",
"ui/coreShared/ts/components/AddressInfo.tsx",
"ui/coreShared/ts/components/ComparisonRecord.tsx",
"ui/coreShared/ts/components/LifecycleStageBanner.tsx",
"ui/coreShared/ts/components/LoadableValue.tsx",
"ui/coreShared/ts/components/OutcomeChipRow.tsx",
"ui/coreShared/ts/components/OutcomeSelectionList.tsx",
"ui/coreShared/ts/components/PaginationControls.tsx",
"ui/coreShared/ts/components/ProgressMeter.tsx",
"ui/coreShared/ts/components/Question.tsx",
"ui/coreShared/ts/components/RankedBarList.tsx",
"ui/coreShared/ts/components/RequirementsChecklist.tsx",
"ui/coreShared/ts/components/RouteHeader.tsx",
"ui/coreShared/ts/components/RouteWorkflowPanel.tsx",
"ui/coreShared/ts/components/ScalarOutcomePicker.tsx",
"ui/coreShared/ts/components/StickyObjectContext.tsx",
"ui/coreShared/ts/components/WorkflowSubsection.tsx",
"ui/coreShared/ts/copy/marketType.ts",
"ui/coreShared/ts/hooks/useErc20Loader.ts",
"ui/coreShared/ts/hooks/useFormState.ts",
"ui/coreShared/ts/lib/actionAvailability.ts",
"ui/coreShared/ts/lib/deploymentStatus.ts",
"ui/coreShared/ts/lib/formInputs.ts",
"ui/coreShared/ts/lib/marketType.ts",
"ui/coreShared/ts/lib/outcomeLabels.ts",
"ui/coreShared/ts/lib/questionId.ts",
"ui/coreShared/ts/lib/refreshState.ts",
"ui/coreShared/ts/lib/requireWalletConnection.ts",
"ui/coreShared/ts/lib/scalarOutcome.ts",
"ui/coreShared/ts/protocol/securityPoolActions.ts",
"ui/coreShared/ts/protocol/truthAuctionMath.ts",
"ui/coreShared/ts/simulation/tevmEngine.ts",
"ui/coreShared/ts/simulation/tevmWorker.ts",
"ui/statoblast/ts/app/App.tsx",
"ui/statoblast/ts/app/appPageTitle.ts",
"ui/statoblast/ts/app/components/AppRouteContent.tsx",
"ui/statoblast/ts/index.ts",
"ui/statoblast/ts/simulation/tevmWorker.ts",
"ui/zoltar/ts/app/App.tsx",
"ui/zoltar/ts/app/hooks/useAppRouteEffects.ts",
"ui/zoltar/ts/features/open-oracle/components/OpenOraclePriceValue.tsx",
"ui/zoltar/ts/features/universes/components/ShareMigrationTargetsSection.tsx",
"ui/zoltar/ts/features/universes/hooks/useZoltarOperations.ts",
"ui/zoltar/ts/index.ts",
"ui/zoltar/ts/simulation/tevmWorker.ts"
]
},
"shared": {
"minimumLines": 76.923,
Expand All @@ -16,11 +63,20 @@
"minimumFunctions": 25.476,
"allowedUnloadedFiles": [
"scripts/check-agent-configs.mts",
"scripts/build-doc-charts.mts",
"scripts/build-docs-index.mts",
"scripts/check-doc-charts.mts",
"scripts/check-docs-content.mts",
"scripts/check-docs-examples.mts",
"scripts/check-docs-html.mts",
"scripts/check-docs-reference-values.mts",
"scripts/check-mainnet-deployment.mts",
"scripts/check-html-format.mts",
"scripts/check-uniswap-deployment-artifact.mts",
"scripts/check-unit-terminology.mts",
"scripts/contract-reference-metadata.mts",
"scripts/docs-html-page.mts",
"scripts/docs-html-text.mts",
"scripts/documentationChartBuild.mts",
"scripts/generate-contract-interaction-reference.mts",
"scripts/lint-no-bare-catch.mts",
"scripts/lint-no-direct-viem-imports.mts",
Expand All @@ -31,20 +87,21 @@
"scripts/run-tests.mts",
"scripts/run-typescript-coverage.mts",
"solidity/ts/gas-costs.ts",
"ui/build/production.mts",
"ui/build/tests.mts",
"ui/build/watch.mts",
"ui/build/workers.mts",
"ui/dev-server.ts",
"ui/ts/index.dev.ts",
"ui/ts/liveReload.ts"
"ui/coreShared/build/production.mts",
"ui/coreShared/build/watch.mts",
"ui/coreShared/build/workers.mts",
"ui/coreShared/dev-server.ts",
"ui/statoblast/ts/index.dev.ts",
"ui/statoblast/ts/liveReload.ts",
"ui/zoltar/ts/index.dev.ts",
"ui/zoltar/ts/liveReload.ts"
]
}
},
"solidity": {
"minimumFirstPartyLines": 99.9
},
"changedLines": {
"minimum": 90
"minimum": 85.836
}
}
22 changes: 11 additions & 11 deletions .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ solidity/ts/**/*.d.ts.map
solidity/ts/**/*.js
solidity/ts/**/*.js.map
solidity/ts/types/contractArtifact.ts
ui/dist
ui/js
ui/vendor
ui/ts/**/*.d.ts
ui/ts/**/*.d.ts.map
ui/ts/**/*.js
ui/ts/**/*.js.map
ui/ts/abis.ts
ui/ts/contractArtifact.ts
ui/ts/deploymentArtifacts.ts
ui/ts/deploymentsArtifacts.ts
ui/*/dist
ui/*/js
ui/*/vendor
ui/*/ts/**/*.d.ts
ui/*/ts/**/*.d.ts.map
ui/*/ts/**/*.js
ui/*/ts/**/*.js.map
ui/*/ts/abis.ts
ui/*/ts/contractArtifact.ts
ui/*/ts/deploymentArtifacts.ts
ui/*/ts/deploymentsArtifacts.ts
21 changes: 14 additions & 7 deletions .github/actions/setup-ci/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,16 @@ runs:
uses: actions/cache@v5
with:
path: ~/.bun/install/cache
key: ${{ runner.os }}-bun-${{ env.BUN_VERSION }}-${{ hashFiles('bun.lock', 'ui/bun.lock', 'solidity/bun.lock') }}
key: ${{ runner.os }}-bun-${{ env.BUN_VERSION }}-${{ hashFiles('bun.lock', 'ui/*/bun.lock', 'solidity/bun.lock') }}

- name: Install dependencies
shell: bash
run: |
bun install --frozen-lockfile
(cd ui && bun install --frozen-lockfile)
(cd ui/coreShared && bun install --frozen-lockfile)
(cd ui/zoltar && bun install --frozen-lockfile)
(cd ui/statoblast && bun install --frozen-lockfile)
(cd ui/trading && bun install --frozen-lockfile)
(cd solidity && bun install --frozen-lockfile)

- name: Cache generated shared package
Expand All @@ -59,16 +62,20 @@ runs:
solidity/.contract-hash.json
solidity/ts/types/contractArtifact.ts
solidity/types/contractArtifact.ts
ui/ts/abis.ts
ui/ts/contractArtifact.ts
key: ${{ runner.os }}-contracts-${{ env.BUN_VERSION }}-${{ env.FOUNDRY_VERSION }}-${{ hashFiles('bun.lock', 'solidity/bun.lock', 'solidity/package.json', 'solidity/tsconfig-compile.json', 'solidity/ts/abi/abis.ts', 'solidity/ts/compile.ts', 'solidity/contracts/**', 'ui/build/projectArtifacts.mts') }}
ui/coreShared/ts/abis.ts
ui/coreShared/ts/contractArtifact.ts
ui/trading/ts/generated/contractArtifact.ts
key: ${{ runner.os }}-contracts-${{ env.BUN_VERSION }}-${{ env.FOUNDRY_VERSION }}-${{ hashFiles('bun.lock', 'solidity/bun.lock', 'solidity/package.json', 'solidity/tsconfig-compile.json', 'solidity/ts/abi/abis.ts', 'solidity/ts/compile.ts', 'solidity/contracts/**', 'ui/coreShared/build/projectArtifacts.mts') }}

- name: Cache UI vendor assets
id: vendor-cache
uses: actions/cache@v5
with:
path: ui/vendor
key: ${{ runner.os }}-ui-vendor-${{ env.BUN_VERSION }}-${{ hashFiles('bun.lock', 'ui/bun.lock', 'ui/package.json', 'ui/tsconfig.vendor.json', 'ui/build/bundlerPaths.mts', 'ui/build/vendor.mts') }}
path: |
ui/zoltar/vendor
ui/statoblast/vendor
ui/trading/vendor
key: ${{ runner.os }}-ui-vendor-${{ env.BUN_VERSION }}-${{ hashFiles('bun.lock', 'ui/*/bun.lock', 'ui/*/package.json', 'ui/coreShared/build/bundlerPaths.mts', 'ui/coreShared/build/vendor.mts') }}

- name: Generate and verify generated artifacts
if: inputs.verify-generated == 'true' || steps.shared-cache.outputs.cache-hit != 'true' || steps.contract-cache.outputs.cache-hit != 'true' || steps.vendor-cache.outputs.cache-hit != 'true'
Expand Down
5 changes: 4 additions & 1 deletion .github/actions/setup-component/action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,5 +41,8 @@ runs:
if: inputs.artifacts == 'true'
shell: bash
run: |
(cd ui && bun install --frozen-lockfile)
(cd ui/coreShared && bun install --frozen-lockfile)
(cd ui/zoltar && bun install --frozen-lockfile)
(cd ui/statoblast && bun install --frozen-lockfile)
(cd ui/trading && bun install --frozen-lockfile)
(cd solidity && bun install --frozen-lockfile)
52 changes: 42 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,9 @@ jobs:
shared/js
solidity/artifacts
solidity/ts/types/contractArtifact.ts
ui/ts/abis.ts
ui/ts/contractArtifact.ts
ui/coreShared/ts/abis.ts
ui/coreShared/ts/contractArtifact.ts
ui/trading/ts/generated/contractArtifact.ts
include-hidden-files: true
if-no-files-found: error
retention-days: 1
Expand All @@ -110,7 +111,7 @@ jobs:
uses: actions/cache@v5
with:
path: .tsbuildinfo
key: ${{ runner.os }}-tsbuildinfo-${{ env.BUN_VERSION }}-${{ hashFiles('bun.lock', 'package.json', 'tsconfig.json') }}-${{ hashFiles('shared/ts/**', 'ui/ts/**') }}
key: ${{ runner.os }}-tsbuildinfo-${{ env.BUN_VERSION }}-${{ hashFiles('bun.lock', 'package.json', 'tsconfig.json') }}-${{ hashFiles('shared/ts/**', 'ui/*/ts/**') }}
restore-keys: |
${{ runner.os }}-tsbuildinfo-${{ env.BUN_VERSION }}-${{ hashFiles('bun.lock', 'package.json', 'tsconfig.json') }}-
- name: Verify pre-task worktree cleanliness
Expand All @@ -119,12 +120,33 @@ jobs:
test -z "$(git status --porcelain --untracked-files=normal)"
git diff --check
- name: TypeScript checks and production UI build
run: bun run ci:preflight:current
shell: bash
run: |
started_at="${SECONDS}"
set +e
bun run ui:build:apps
build_status="$?"
if [[ "${build_status}" -ne 0 ]]; then
exit "${build_status}"
fi
bun run ci:preflight:current
status="$?"
set -e
duration="$((SECONDS - started_at))"
echo "| Preflight and production build | ${duration}s |" >> "${GITHUB_STEP_SUMMARY}"
exit "${status}"
- name: Upload production UI build
uses: actions/upload-artifact@v4
with:
name: production-ui
path: ui/dist
path: |
ui/coreShared/js
ui/zoltar/js
ui/statoblast/js
ui/trading/js
ui/zoltar/dist
ui/statoblast/dist
ui/trading/dist
if-no-files-found: error
retention-days: 1
- name: Upload component build inputs
Expand All @@ -135,8 +157,9 @@ jobs:
shared/js
solidity/artifacts
solidity/ts/types/contractArtifact.ts
ui/ts/abis.ts
ui/ts/contractArtifact.ts
ui/coreShared/ts/abis.ts
ui/coreShared/ts/contractArtifact.ts
ui/trading/ts/generated/contractArtifact.ts
include-hidden-files: true
if-no-files-found: error
retention-days: 1
Expand All @@ -163,8 +186,16 @@ jobs:
- uses: actions/download-artifact@v5
with:
name: production-ui
path: ui/dist
- uses: actions/cache/restore@v5
path: ui
- name: Refresh split UI package installs
run: |
bun ./scripts/install-frozen.mts ui/coreShared
bun ./scripts/install-frozen.mts ui/zoltar
bun ./scripts/install-frozen.mts ui/statoblast
bun ./scripts/install-frozen.mts ui/trading

- name: Restore historical test timings
uses: actions/cache/restore@v5
with:
path: .ci/test-timings.json
key: ${{ runner.os }}-test-timings-v1-${{ github.sha }}
Expand Down Expand Up @@ -244,7 +275,8 @@ jobs:
- uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ env.BUN_VERSION }}
- run: bun audit && (cd ui && bun audit) && (cd solidity && bun audit)
- name: Run dependency audits
run: bun audit && (cd ui/coreShared && bun audit) && (cd ui/zoltar && bun audit) && (cd ui/statoblast && bun audit) && (cd ui/trading && bun audit) && (cd solidity && bun audit)

infrastructure-checks:
name: Infrastructure checks
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/deploy-testnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,11 +60,19 @@ jobs:
run: |
bun install --frozen-lockfile
(cd solidity && bun install --frozen-lockfile)
(cd ui && bun install --frozen-lockfile)
(cd ui/coreShared && bun install --frozen-lockfile)
(cd ui/zoltar && bun install --frozen-lockfile)
(cd ui/statoblast && bun install --frozen-lockfile)
(cd ui/trading && bun install --frozen-lockfile)

- name: Prepare contract artifacts
run: bun run ensure-contract-artifacts

- name: Build UI deployment dependencies
run: |
bun run ui:build:apps
bun ./scripts/deploy-testnet.mts --help > /dev/null

- name: Deploy deterministic infrastructure
env:
CHAIN_ID: ${{ inputs.chain_id }}
Expand Down
Loading
Loading