Skip to content

feat(solana): support doppler-sdk 1.0.17 launches#3

Open
Sabnock01 wants to merge 1 commit into
mainfrom
feat/solana-sdk-1-0-17
Open

feat(solana): support doppler-sdk 1.0.17 launches#3
Sabnock01 wants to merge 1 commit into
mainfrom
feat/solana-sdk-1-0-17

Conversation

@Sabnock01
Copy link
Copy Markdown
Collaborator

Summary

Updates the Solana launch API to work with @whetstone-research/doppler-sdk@1.0.17 and tightens the public Solana launch contract for integrators.

SDK 1.0.17 compatibility

  • Bumps @whetstone-research/doppler-sdk from ^1.0.12 to ^1.0.17.
  • Updates Solana launch initialization to use the SDK 1.0.17 account/argument shape:
    • launchFeeState
    • swapFeeBps
    • hook program fields
    • hook payload/hash fields
    • migrator init/migrate payload fields
    • fee beneficiaries
  • Keeps curveFeeBps as a backward-compatible request/response alias for swapFeeBps.

Solana launch hardening

  • Changes Solana migration mode from noOp to none.
    • migration.type="none" means the launch trades on the initializer curve indefinitely without migrating to an external AMM.
  • Rejects non-zero baseForDistribution / baseForLiquidity while no supported Solana migrator is configured.
  • Defaults Solana swap fees from the on-chain initializer config.
  • Validates requested swap fees against the initializer min/max bounds.
  • Adds fee beneficiary validation:
    • max 8 beneficiaries
    • unique addresses
    • shareBps must sum to 10000
    • initializer protocol beneficiary cannot be included
    • explicit non-protocol beneficiaries are required when the configured payer is the initializer protocol beneficiary
  • Preserves existing unsupported mainnet-beta behavior:
    • solanaMainnetBeta / mainnet-beta remains scaffolded
    • execution still returns 501 SOLANA_NETWORK_UNSUPPORTED
    • no mainnet execution support is added

Transaction submission

  • Builds a per-launch address lookup table before submitting the initialize transaction.
  • Compresses the initialize transaction with that lookup table.
  • Uses RPC preflight and normal retry behavior instead of forcing maxRetries: 0, which fixed dropped devnet submissions in live testing.

API/types/docs/tests

  • Adds src/modules/launches/solana-schema.ts for Solana Zod schemas and parsing.
  • Updates Solana response types and OpenAPI/docs for:
    • launchFeeStateAddress
    • swapFeeBps
    • feeBeneficiariesSource
    • feeBeneficiaries
    • read-route hook/migrator/quote fields
  • Updates unit, integration, readiness, and live Solana tests.

Verification

  • npm run format:check
  • npm run lint
  • npm run typecheck
  • npm test
  • npm run test:live:solana

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant