chore: backmerge main into develop post v1.1016.0#12165
chore: backmerge main into develop post v1.1016.0#12165gomesalexandre wants to merge 9 commits intodevelopfrom
Conversation
* fix: copy patches dir in public-api Dockerfile for pnpm install pnpm requires the patches directory during install (not just scripts) because patched dependencies are referenced in the lockfile. The --ignore-scripts flag alone doesn't prevent pnpm from reading patch files during dependency resolution. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: add .railwayignore to reduce snapshot size for public-api deploys Railway's "Failed to snapshot repository" error is caused by the repo being too large (~74MB tracked files). This excludes frontend source, images, tests, and other files not needed for the public-api Dockerfile build from Railway's pre-build snapshot. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Revert "fix: add .railwayignore to reduce snapshot size for public-api deploys" This reverts commit 473f2d3. * Revert "fix: copy patches dir in public-api Dockerfile for pnpm install" This reverts commit a0618c1. * fix: unrug Railway CI - copy patches dir and add .railwayignore (#12099) * fix: unrug public-api Railway CI - copy patches dir and add .railwayignore Two fixes for Railway deployment failures: 1. Copy patches/ directory in Dockerfile before pnpm install - pnpm requires patch files during install even with --ignore-scripts because patched dependencies are referenced in the lockfile. 2. Add .railwayignore to reduce repo snapshot size - Railway's "Failed to snapshot repository" error was caused by the repo being ~74MB of tracked files. Excludes frontend source, images, tests, and other files not needed for the public-api Docker build. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: add patches dir to swap-widget Dockerfile and update .railwayignore The swap-widget Dockerfile had the same missing patches/ dir bug as public-api — pnpm install fails with ENOENT for patched dependencies. Also add swap-widget *.md exception to .railwayignore. Co-Authored-By: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]> * fix: use copy package-import-method in Docker to avoid pnpm ENOENT (#12100) * fix: use copy package-import-method in Docker to avoid pnpm ENOENT pnpm's default hard-link strategy fails intermittently on Docker's overlay filesystem with "ENOENT: rename _tmp -> secp256k1". Setting package-import-method=copy via env var (Docker-only, doesn't affect local dev .npmrc) fixes the atomic rename race condition. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: add retry loop for pnpm install in Docker builds The ENOENT rename failure persists even with package-import-method=copy because pnpm's hoisting/linking phase still does atomic renames that race on Docker's overlay filesystem. Since it's intermittent and all packages are cached in the store after the first attempt, a retry with clean node_modules is fast and reliable. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: restrict swap-widget tsconfig types to prevent auto-discovery Without an explicit `types` field, TypeScript auto-discovers all @types/* packages hoisted to root node_modules. The deprecated stub @types/ethereumjs-util (from hdwallet-ledger devDeps) has no .d.ts files, causing TS2688 during Docker builds. Restricting to ["vite/client"] matches the pattern used by the root tsconfig. Co-Authored-By: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]> * feat: speed up stuck btc transactions via rbf (#11885) * fix: railway build with pnpm (#12107) * feat: thorchain solana lp integration (#12037) * fix: narrow YieldExplainers action prop type to remove unused claim variant (#12073) * fix: always refresh account balances after swap completion (#12106) * chore: unify claude and codex instruction entrypoints (#12119) * feat: idempotent release script state machine (#12110) * feat: bebop solana swapper take 2 (#12111) * chore: remove unused @chainflip/rpc and @chainflip/extrinsics deps (#12109) --------- Co-authored-by: Claude Opus 4.6 <[email protected]> Co-authored-by: gomes-bot <[email protected]> Co-authored-by: kevin <[email protected]> Co-authored-by: gomes <[email protected]> Co-authored-by: NeOMakinG <[email protected]>
* chore: prerelease v1.1016.0 (#12127) * fix: copy patches dir in public-api Dockerfile for pnpm install pnpm requires the patches directory during install (not just scripts) because patched dependencies are referenced in the lockfile. The --ignore-scripts flag alone doesn't prevent pnpm from reading patch files during dependency resolution. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: add .railwayignore to reduce snapshot size for public-api deploys Railway's "Failed to snapshot repository" error is caused by the repo being too large (~74MB tracked files). This excludes frontend source, images, tests, and other files not needed for the public-api Dockerfile build from Railway's pre-build snapshot. Co-Authored-By: Claude Opus 4.6 <[email protected]> * Revert "fix: add .railwayignore to reduce snapshot size for public-api deploys" This reverts commit 473f2d3. * Revert "fix: copy patches dir in public-api Dockerfile for pnpm install" This reverts commit a0618c1. * fix: unrug Railway CI - copy patches dir and add .railwayignore (#12099) * fix: unrug public-api Railway CI - copy patches dir and add .railwayignore Two fixes for Railway deployment failures: 1. Copy patches/ directory in Dockerfile before pnpm install - pnpm requires patch files during install even with --ignore-scripts because patched dependencies are referenced in the lockfile. 2. Add .railwayignore to reduce repo snapshot size - Railway's "Failed to snapshot repository" error was caused by the repo being ~74MB of tracked files. Excludes frontend source, images, tests, and other files not needed for the public-api Docker build. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: add patches dir to swap-widget Dockerfile and update .railwayignore The swap-widget Dockerfile had the same missing patches/ dir bug as public-api — pnpm install fails with ENOENT for patched dependencies. Also add swap-widget *.md exception to .railwayignore. Co-Authored-By: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]> * fix: use copy package-import-method in Docker to avoid pnpm ENOENT (#12100) * fix: use copy package-import-method in Docker to avoid pnpm ENOENT pnpm's default hard-link strategy fails intermittently on Docker's overlay filesystem with "ENOENT: rename _tmp -> secp256k1". Setting package-import-method=copy via env var (Docker-only, doesn't affect local dev .npmrc) fixes the atomic rename race condition. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: add retry loop for pnpm install in Docker builds The ENOENT rename failure persists even with package-import-method=copy because pnpm's hoisting/linking phase still does atomic renames that race on Docker's overlay filesystem. Since it's intermittent and all packages are cached in the store after the first attempt, a retry with clean node_modules is fast and reliable. Co-Authored-By: Claude Opus 4.6 <[email protected]> * fix: restrict swap-widget tsconfig types to prevent auto-discovery Without an explicit `types` field, TypeScript auto-discovers all @types/* packages hoisted to root node_modules. The deprecated stub @types/ethereumjs-util (from hdwallet-ledger devDeps) has no .d.ts files, causing TS2688 during Docker builds. Restricting to ["vite/client"] matches the pattern used by the root tsconfig. Co-Authored-By: Claude Opus 4.6 <[email protected]> --------- Co-authored-by: Claude Opus 4.6 <[email protected]> * feat: speed up stuck btc transactions via rbf (#11885) * fix: railway build with pnpm (#12107) * feat: thorchain solana lp integration (#12037) * fix: narrow YieldExplainers action prop type to remove unused claim variant (#12073) * fix: always refresh account balances after swap completion (#12106) * chore: unify claude and codex instruction entrypoints (#12119) * feat: idempotent release script state machine (#12110) * feat: bebop solana swapper take 2 (#12111) * chore: remove unused @chainflip/rpc and @chainflip/extrinsics deps (#12109) --------- Co-authored-by: Claude Opus 4.6 <[email protected]> Co-authored-by: gomes-bot <[email protected]> Co-authored-by: kevin <[email protected]> Co-authored-by: gomes <[email protected]> Co-authored-by: NeOMakinG <[email protected]> * fix: bebop solana signing + thorchain solana lp compute budget (#12132) * fix: bebop solana signing + reject amm-routed quotes (#12147) * fix: cherry-pick #12148 - bebop solana ghost tx + malformed amm routes (#12151) --------- Co-authored-by: Claude Opus 4.6 <[email protected]> Co-authored-by: gomes-bot <[email protected]> Co-authored-by: kevin <[email protected]> Co-authored-by: gomes <[email protected]> Co-authored-by: NeOMakinG <[email protected]>
chore: release v1.1016.0 (#12128) * chore: prerelease v1.1016.0 (#12127) * fix: copy patches dir in public-api Dockerfile for pnpm install pnpm requires the patches directory during install (not just scripts) because patched dependencies are referenced in the lockfile. The --ignore-scripts flag alone doesn't prevent pnpm from reading patch files during dependency resolution. * fix: add .railwayignore to reduce snapshot size for public-api deploys Railway's "Failed to snapshot repository" error is caused by the repo being too large (~74MB tracked files). This excludes frontend source, images, tests, and other files not needed for the public-api Dockerfile build from Railway's pre-build snapshot. * Revert "fix: add .railwayignore to reduce snapshot size for public-api deploys" This reverts commit 473f2d3. * Revert "fix: copy patches dir in public-api Dockerfile for pnpm install" This reverts commit a0618c1. * fix: unrug Railway CI - copy patches dir and add .railwayignore (#12099) * fix: unrug public-api Railway CI - copy patches dir and add .railwayignore Two fixes for Railway deployment failures: 1. Copy patches/ directory in Dockerfile before pnpm install - pnpm requires patch files during install even with --ignore-scripts because patched dependencies are referenced in the lockfile. 2. Add .railwayignore to reduce repo snapshot size - Railway's "Failed to snapshot repository" error was caused by the repo being ~74MB of tracked files. Excludes frontend source, images, tests, and other files not needed for the public-api Docker build. * fix: add patches dir to swap-widget Dockerfile and update .railwayignore The swap-widget Dockerfile had the same missing patches/ dir bug as public-api — pnpm install fails with ENOENT for patched dependencies. Also add swap-widget *.md exception to .railwayignore. --------- * fix: use copy package-import-method in Docker to avoid pnpm ENOENT (#12100) * fix: use copy package-import-method in Docker to avoid pnpm ENOENT pnpm's default hard-link strategy fails intermittently on Docker's overlay filesystem with "ENOENT: rename _tmp -> secp256k1". Setting package-import-method=copy via env var (Docker-only, doesn't affect local dev .npmrc) fixes the atomic rename race condition. * fix: add retry loop for pnpm install in Docker builds The ENOENT rename failure persists even with package-import-method=copy because pnpm's hoisting/linking phase still does atomic renames that race on Docker's overlay filesystem. Since it's intermittent and all packages are cached in the store after the first attempt, a retry with clean node_modules is fast and reliable. * fix: restrict swap-widget tsconfig types to prevent auto-discovery Without an explicit `types` field, TypeScript auto-discovers all @types/* packages hoisted to root node_modules. The deprecated stub @types/ethereumjs-util (from hdwallet-ledger devDeps) has no .d.ts files, causing TS2688 during Docker builds. Restricting to ["vite/client"] matches the pattern used by the root tsconfig. --------- * feat: speed up stuck btc transactions via rbf (#11885) * fix: railway build with pnpm (#12107) * feat: thorchain solana lp integration (#12037) * fix: narrow YieldExplainers action prop type to remove unused claim variant (#12073) * fix: always refresh account balances after swap completion (#12106) * chore: unify claude and codex instruction entrypoints (#12119) * feat: idempotent release script state machine (#12110) * feat: bebop solana swapper take 2 (#12111) * chore: remove unused @chainflip/rpc and @chainflip/extrinsics deps (#12109) --------- * fix: bebop solana signing + thorchain solana lp compute budget (#12132) * fix: bebop solana signing + reject amm-routed quotes (#12147) * fix: cherry-pick #12148 - bebop solana ghost tx + malformed amm routes (#12151) --------- Co-authored-by: Claude Opus 4.6 <[email protected]> Co-authored-by: gomes-bot <[email protected]> Co-authored-by: kevin <[email protected]> Co-authored-by: gomes <[email protected]> Co-authored-by: NeOMakinG <[email protected]>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (72)
Disabled knowledge base sources:
📝 WalkthroughWalkthroughThis pull request introduces comprehensive enhancements across multiple domains: Solana serialized transaction signing capabilities across all wallet adapters, Bebop DEX support for Solana swaps, Bitcoin Replace-By-Fee (RBF) transaction acceleration via UI modal, and a substantial refactor of the release automation script with state-machine-based workflows. Additionally, documentation and build configuration are reorganized to support new agent tooling and Docker build improvements. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant SpeedUpModal as SpeedUp Modal
participant UTXOAdapter as UTXO Adapter
participant Wallet as Wallet (GridPlus/Ledger/etc)
participant Blockchain as Bitcoin Network
User->>SpeedUpModal: Initiate speed-up (adjust fee rate)
SpeedUpModal->>UTXOAdapter: Fetch original tx & UTXOs
UTXOAdapter->>Blockchain: Get transaction data
Blockchain-->>UTXOAdapter: Transaction details
UTXOAdapter-->>SpeedUpModal: Original tx, inputs, UTXOs
SpeedUpModal->>SpeedUpModal: Reconstruct replacement tx with new fee rate
SpeedUpModal->>Wallet: Sign replacement transaction (RBF)
Wallet-->>SpeedUpModal: Signed replacement tx
SpeedUpModal->>Blockchain: Broadcast replacement tx
Blockchain-->>SpeedUpModal: Confirmation (txHash)
SpeedUpModal->>SpeedUpModal: Update action state: original Replaced, new tx pending
SpeedUpModal-->>User: Speed-up complete
sequenceDiagram
participant App as Frontend App
participant Swapper as Bebop Swapper
participant Wallet as Solana Wallet
participant Bebop as Bebop API
App->>Swapper: getTradeQuote (Solana sell asset)
Swapper->>Bebop: fetchBebopSolanaQuote
Bebop-->>Swapper: Quote with serialized tx & blockhash
Swapper-->>App: TradeQuote with bebopSolanaSerializedTx
App->>Swapper: getUnsignedSolanaMessage
Swapper-->>App: SolanaMessageToSign (serialized tx, quoteId)
App->>Wallet: solanaSignSerializedTx (serialized tx)
Wallet->>Wallet: Deserialize & sign transaction
Wallet-->>App: Signed transaction (signatures)
App->>Swapper: executeSolanaMessage (signed, callbacks)
Swapper->>Bebop: Submit order with signature
Bebop-->>Swapper: Order confirmation (txHash)
Swapper-->>App: Execution complete (txHash)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Suggested reviewers
Poem
✨ Finishing Touches
🧪 Generate unit tests (beta)
📝 Coding Plan
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Backmerge main into develop after v1.1016.0 release cycle completed. Required to fix the merge base for the prerelease v1.1017.0 PR (#12163).
Summary by CodeRabbit
New Features
Bug Fixes
Documentation
Chores