retroactive release to mark ymax1 upgrade Jan 2026
bundle hash: b1-cdb4dc43fd34c57a80e433cda7c84731d1e76c6f97ce2b26d449e7b85f1c231d770a581fb923d3c270851ae26b3cec40d91be4e5d328bc4ed71e8e760e7b66f5
TODO:
- prune irrelevant changes from changelog
What's Changed
- feat(SwingSet): Record duration of processCleanupTerminatedVat vat-cleanup work by @gibson042 in #11971
- CI (ymax-planner): Auto Deploy ymax0-planner on Image Publish by @Muneeb147 in #12089
- fix(ymax-planner): Call CosmosRPCClient error logic directly upon heartbeat timeout by @gibson042 in #12132
- fix(ymax0-planner-deloyment): Add Missing GCE_ZONE env in ymax0-planner-deployment CI by @Muneeb147 in #12152
- ci: generic bundle builder workflow by @mujahidkay in #12144
- Fix passable in kernel by @mhofman in #12155
- Fix: don't include dust accounts in graph solving by @dtribble in #12154
- fix(SwingSet): Tolerate absence of a kpid from maybeFreeKrefs by @gibson042 in #12145
- chore: update planner to not timeout pending txs by @frazarshad in #12165
- fast results from Ymax offers by @turadg in #12168
- misc portfolio contract & api by @turadg in #12169
- feat!(smart-wallet): do not publish invitation details handles by @mhofman in #12167
- fix(SwingSet): Make the README example work again by @gibson042 in #12162
- feat(portfolio-contract): schedule steps concurrently based on partial order by @dckc in #12153
- feat(portfolio-contract): include FlowDetail (esp. type) in StatusFor['flow'] by @dckc in #12178
- NodeNext for swingset-vat by @turadg in #12181
- custom eslint plugin that fixes typedef imports by @turadg in #11949
- fix(ymax-planner): Prefer to query balances using Spectrum GraphQL by @gibson042 in #12185
- feat(ymax-planner): Improve output for scanning/searching GCP Logs by @gibson042 in #12197
- remove tests and ops for auctions by @turadg in #12200
- group JSDoc imports by @turadg in #10665
- fix(ymax-planner): Don't resubmit steps to the same effective portfolio state by @gibson042 in #12201
- fix(ymax-planner): Exit handlePortfolio for unchanged effective state by @gibson042 in #12210
- chore: added a lower bound gas estimation by @frazarshad in #12207
- chore: starting lookback from a stored time value by @frazarshad in #12172
- Invoke for existing wallet by @mhofman in #12206
- fix(ymax-planner): Exit handlePortfolio for unchanged effective state by @turadg in #12214
- test(ymax-planner): Use a shorter timeout for gmp-watcher.test.ts by @gibson042 in #12224
- build: update planner build for sqlite3 by @frazarshad in #12228
- refactor(SwingSet): Simplify conditions in mapVatSlotToKernelSlot by @gibson042 in #11668
- fix(ymax-planner): adjust the default fee to 0.015 BLD for planner and resolver txns by @LuqiPan in #12209
- fix(ymax-planner): Consider old allocations in computeWeightedTargets by @gibson042 in #12231
- switch to NodeNext module resolution by @turadg in #12179
- include flow key trace ID in planner logs by @turadg in #12235
- fix(portfolio-contract): Prevent preflightValidateNetworkPlan from masking underlying errors by @gibson042 in #12233
- remove auctioneer instance and liquidation functionality from vaults by @turadg in #11879
- feat: patch
@endo/bundle-sourcetoesbuildif bundle is too big by @michaelfig in #12212 - chore: resolver changes to observe and resolve makeAccount transactions by @rabi-siddique in #12213
- chore(deployment): Ymax1-Planner Manual Deployment Workflow by @Muneeb147 in #12157
- docs: update makeAccount flow by @rabi-siddique in #12239
- dprint for prettier by @turadg in #7237
- fix(ymax-planner): Scale [u]USDC@agoric balances from Spectrum GraphQL responses by @gibson042 in #12244
- chore(ymax-planner): Fix lint issues by @gibson042 in #12245
- fix(ymax-planner): add missing kvStore and txId to SmartWallet watchers by @rabi-siddique in #12247
- chore: Make lerna aware of services/ymax-planner by @gibson042 in #12246
- ci(deployment): Add Missing GCE_ZONE env in deployment by @Muneeb147 in #12251
- fix(ymax-planner): Restore the 0.5 BLD fee amount by @gibson042 in #12254
- fix(ymax-planner): Increase the resolver tx fee submission to 0.25 BLD by @gibson042 in #12255
- chore: Set spend-action tx fees to 0.01 BLD by @gibson042 in #12257
- chore(portfolio-contract): predictWalletAddress using CREATE2 by @dckc in #12240
- chore: increase gas estimate padding to 20% by @frazarshad in #12258
- fix: address account sequence errors when resolving transactions by @rabi-siddique in #11968
- fix: use SDK types for REST API account responses by @rabi-siddique in #12260
- feat(portfolio-contract): pre-compute EVM account addresses a la CREATE2 by @dckc in #12236
- feat(ymax-ops): upgrade by @dckc in #12133
- ymax state model by @turadg in #12249
- docs(portfolio-contract): incorporate single-flow and NFA into design by @LuqiPan in #12091
- prefer objectMap by @turadg in #12266
- state viz for concurrent steps by @turadg in #12267
- feat(portfolio-contract): planner can reject promise/vow for plan by @dckc in #12183
- chore(portfolio-contract): Split solveRebalance into two phases by @gibson042 in #12270
- chore: tidying up for orchestration by @michaelfig in #12269
- chore: add ability to fail txs in resolver by @frazarshad in #12276
- chore: post rejectionReason for a failed pending transaction on vstorage by @rabi-siddique in #12279
- chore: manually process and resolve pending transactions by @rabi-siddique in #12278
- fix(portfolio-contract)!: limit outbound CCTP to >= 1USDC by @dckc in #12184
- feat(ymax-planner): Reject flows that have no steps or solution by @gibson042 in #12274
- feat: count unhandled rejections in subprocess by @Copilot in #12280
- feat(ymax-planner): Support --dry-run with a previously-unused address by @gibson042 in #12287
- chore(ymax-planner): Improve use of
rejectPlanby @gibson042 in #12290 - chore: capture and report axelar scan error messages by @rabi-siddique in #12288
- docs: add resolver service documentation with visual flow diagram by @rabi-siddique in #12291
- feat: prepare for
ProgressTrackerby @michaelfig in #12268 - chore(ymax-planner): Improve prepareAbortController/makeAbortController by @gibson042 in #12295
- chore(ymax-resolver): stop watchers on manual transaction resolution by @rabi-siddique in #12286
- feat(ymax-planner): Provide flow steps with partial ordering information by @gibson042 in #12284
- feat(ymax-planner): Run flows in sequence by @gibson042 in #12296
- feat(ymax): use
ProgressTrackerto reflect remote chain transactions by @michaelfig in #12045 - feat(cosmic-swingset): Add vat upgrade support to inquisitor.mjs by @gibson042 in #11282
- chore: add erc4626 standard by @frazarshad in #12283
- fix(ymax-planner): Treat dust deltas as zeros by @gibson042 in #12298
- feat(ci): add flaky job detection workflow with Slack notifications by @waqasshaukat in #12285
- chore: add morpho vault addresses in axelar config by @frazarshad in #12300
- chore(ymax-planner): Only try to move funds from hubs when they have someplace to go by @gibson042 in #12301
- dprint cleanup by @turadg in #12306
- fix(ymax-planner): Establish a 1 USDC minimum for noble-to-EVM arcs by @gibson042 in #12302
- feat(portfolio-api): Extend types and shapes for EVM deposits and withdrawals by @gibson042 in #12307
- feat(ymax-planner): Support external EVM accounts for deposit and withdraw by @gibson042 in #12308
- ci: disable mergify post-merge comments by @turadg in #12313
- EVM Handler scaffold by @mhofman in #12314
- chore: setup a yds notifier to send txNum and txHash by @rabi-siddique in #12310
- EIP-712 and Permit2 helpers by @mhofman in #12317
- feat(ymax-tool): Add --inviteOwnerProxy for the EVM wallet handler by @gibson042 in #12323
- fix(ymax-planner): Environment variable YDS_URL should be optional by @gibson042 in #12326
- chore(portfolio-contract): more careful in-flight flow upgrades by @michaelfig in #12324
- chore: publish lca address on vstorage for pending GMP transactions by @rabi-siddique in #12327
- chore(ymax-tool): Improve usage documentation by @gibson042 in #12328
- docs(portfolio-api): Document the representation of flow step dependencies by @gibson042 in #12331
- fix(portfolio-api): Allow extensions to MovementDescShape by @dtribble in #12333
- chore: update logic for beefy withdrawal by @frazarshad in #12170
- feat(internal): add key mirror utility by @turadg in #12093
- docs: EVM Wallet integration with Ymax Contract by @dckc in #12294
- EVM Wallet types and utils by @mhofman in #12340
- docs(portfolio-contract): add a diagram for withdraw for evm-wallet by @LuqiPan in #12343
- Open portfolio from an EVM Wallet signed message by @mhofman in #12344
- Verify eip712 message by @mhofman in #12347
- ESM extensions in graphql codegen by @turadg in #12332
- feat(portfolio-contract): initial withdraw implementation by @dtribble in #12335
- fix(portfolio-contract): Make links for deposit/withdraw nodes unidirectional by @gibson042 in #12337
- fix(ymax-planner): Exclude GraphQL operation description strings in outbound messages by @gibson042 in #12355
- fix inter-package .ts imports by @turadg in #12345
- fix(ymax-resolver): add retry logic when reading initial pending transactions by @rabi-siddique in #12356
- upgrade Ava to 6 by @turadg in #9081
- fix(resolver): tolerate unknown
TxTypesby @michaelfig in #12366 - EVM Wallet handler improvements by @mhofman in #12368
- feat(portfolio-contract): withdraw support by @dtribble in #12351
- chore: find reverted gmp transactions in live mode by @rabi-siddique in #12311
- restore Ava TAP by @turadg in #12372
- chore: added balances for erc4626 by @frazarshad in #12305
- fix(portfolio-contract): ordered array of txIds in vstorage
steps[*].phases[*]by @michaelfig in #12330 - EVMTrader for portfolio contract tests by @mhofman in #12373
- feat(portfolio-contract): EVM deposit for existing portfolios by @dtribble in #12354
- Add Rebalance and SetTargetAllocation to EVM by @mhofman in #12377
- chore: add finality protection for GMP transactions with chain-specific confirmations by @rabi-siddique in #12370
- source Yarn from SCM by @turadg in #12383
- test packed exports and fix transitive .ts imports by @turadg in #12365
- create remote account only from factory by @mhofman in #12378
- ci: only rebase and autosquash on approved PRs by @mhofman in #12384
- chore: ensure wallet-watcher is backward compatible by @rabi-siddique in #12380
- chore: unify openPortfolio by @mhofman in #12385
- Fix makeAccount race by @mhofman in #12386
- chore: include sourceAddress in MAKE_ACCOUNT pendingTx by @rabi-siddique in #12388
- fix: make srcAddr optional and use right lca address by @rabi-siddique in #12389
- fast typechecks by @turadg in #12225
- Fix evmHandler.withdraw and evmHandler.rebalance to execute flows by @dckc in #12393
New Contributors
- @waqasshaukat made their first contribution in #12285
Full Changelog: ymax-v0.3.2-beta...ymax-v0.3.2601-beta