Conversation
Each phase module now declares the presigned transactions its executors consume in a sibling <name>.transactions.ts, ported per-phase from the per-flow route-prep (avenia-to-evm-base.ts, cross-chain path). Phases return nonce-free TxIntents in main/backup/cleanup lanes; Flow.prepareTxs allocates nonces per (network, signer) in flow order and assembles stateMeta, with reuseFirstMainNonce reproducing the backupApprove alias. New invariant in the blocks spec: simulate, executors and prepareTxs must each be hermetic, interfacing with other phases only via input/output state and the phase's own metadata key. Parity-tested tx-for-tx (unsignedTxs + stateMeta deep-equal the production route-prep under identical mocks). Still unwired. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…rtup-guard fix(api): scope block flow startup validation
…-to-dashboard # Conflicts: # apps/api/src/api/services/ramp/ramp.service.ts
…t-docs Consolidate project documentation and agent guidance
The public OnFinality Amoy endpoint rate-limits backend ephemeral freshness checks during registerRamp. Prefer Alchemy when an API key is configured, matching every other Alchemy-backed network, and fall back to viem's default transport otherwise. Recreates the intent of #1301 on current staging without its stale-base regressions.
Since the morpho flow expanded the direct EVM signing group to Arbitrum, Avalanche, BSC and Ethereum, destination-phase transactions on those networks matched both signing groups and were signed and returned twice; the alreadySigned guard could never match because signing replaces txData before comparison. Derive both groups from one network list so they stay disjoint, and drop the dead guard.
…on-double-signing Sign destination-phase EVM transactions exactly once
Review on the RPC change asked for coverage of the signing helper itself, not just getEvmNetworks. Assert the wallet client's actual fallback transport order for Polygon Amoy with and without an Alchemy key; createEvmClient is exported for the test, matching the existing testability exports.
…urity-review-fdc9e7 # Conflicts: # packages/shared/src/helpers/signUnsigned.test.ts
…review-fdc9e7 Use Alchemy for Polygon Amoy RPC
…shboard Add limits and api key handling to dashboard
Migration 040 attached legacy business-typed provider rows to the profile's individual entity from the 038 backfill. Typed lookups resolved (and findOrCreate'd) the same-typed entity instead, so every migrated business customer 404'd on the KYB wizard endpoints while type-less dashboard/ramp lookups still saw the rows - and each typed read left a stray empty business entity behind. Typed alfredpay lookups now scope by the row's customer_type across all profile-owned entities, avenia ownership checks compare profile ownership instead of a typed entity id, and new alfredpay rows co-locate with existing same-type rows so ramp registration (active-entity scoped) keeps seeing every corridor.
…thout-moonbeam fix(api): route sell quotes to settlement chains
Review follow-ups on #1305: createSubaccount resolved the typed entity before the ownership check, so a migrated company's retry still created the stray business entity the fix is meant to prevent - entity creation now happens only in the branches that persist a new row. And createAlfredpayCustomer picked the most recently updated sibling row, which for a profile carrying a pre-fix duplicate on a stray business entity would home a new corridor where quote/ramp resolution (active entity) cannot see it - the active entity's rows now take precedence.
…resolution Fix KYB endpoints for business customers migrated onto individual entities
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.
No description provided.