fix(build): resolve production deploy failures and stale vault ABI - #701
Draft
collinsezedike wants to merge 11 commits into
Draft
fix(build): resolve production deploy failures and stale vault ABI#701collinsezedike wants to merge 11 commits into
collinsezedike wants to merge 11 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
collinsezedike
force-pushed
the
fix/vercel-production-build
branch
from
September 1, 2026 18:00
00d4024 to
3c89d9a
Compare
collinsezedike
force-pushed
the
fix/vercel-production-build
branch
from
September 2, 2026 22:17
178e0f1 to
b4c7c52
Compare
collinsezedike
marked this pull request as draft
September 4, 2026 12:59
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.
Summary
Production has failed to deploy on every merge to main since #635, roughly 14 hours as of this PR's start. Two separate, independent problems, both now fixed here.
1. Build pipeline (Vercel deploy failures)
Three stacked issues, each confirmed via full local reproduction:
Rolldown failed to resolve import "tslib", a transitive dependency of@creit.tech/xbull-wallet-connect(feat(wallet): add XBullWallet adapter #598) thatrxjsneeds but wasn't reliably linkable under pnpm. Fixed by addingtslibas a direct dependency and hoisting it via.npmrc.scripts/build-vercel.shnever generated.d.tsfiles forpackages/shared/packages/api-core/packages/stellar-sdk-helpers, even thoughpackage.json#typesassumed they existed. Fixed by generating real declarations and pointingtypesat them.api/**/*.tshad grown to 12+ files as the admin dashboard and keeper endpoints were added. Fixed by consolidating related routes into fewer files using Vercel's dynamic segment routing ([action].ts/[resource].ts) — 12 functions down to 6, with URL paths unchanged so no frontend changes were needed.The recurring
error TS2305: has no exported memberlines visible in deploy logs are a separate, confirmed-cosmetic quirk of Vercel's isolated per-function TypeScript check — they appear identically on both successful and failed deploys and were never the actual blocker. Tracked separately for later cleanup, not addressed in this PR.2. Stale vault contract ABI
Once the build pipeline was fixed and the app actually reached testnet, deposits failed simulation with
HostError: Error(WasmVm, UnexpectedSize). The testnet vault predated both #604 (deposit()gained a requiredmin_shares_outparameter) and #606 (begin_migration/two-phase migration), so the live contract's two-argumentdeposit()didn't match the frontend's three-argument call. #602 tracked the redeploy that covered #600's earlierwithdraw()change and closed before #604/#606 merged, so this gap was never caught.Fixed by redeploying the vault, Blend adapter, and mUSDC via
scripts/deploy-testnet.sh, updatingCONTRACT_ADDRESSES/KNOWN_POOLSto the new contract IDs, and documenting the cutover intestnet-deployment.md's "Vault migration history" (old vault held zero outstanding deposits at cutover, so no withdrawal-announcement window was needed).Test plan
pnpm install(deletednode_modulesentirely) + fullbash scripts/build-vercel.shcompletes successfully end to endpnpm typecheck,pnpm typecheck:api,pnpm lint,pnpm testall passvercel inspectshowingstatus ● Ready, not just CI's build-only check)deposit --helpconfirms all three parameters (amount,min_shares_out,caller)begin_migration/migrate_adapterconfirmed present