Conversation
- SDK moved to @bananapus/nana-sdk-core / @bananapus/nana-sdk-react @1.0.0 (jbContractAddress['6'], canonical-v6 ABIs with version-suffixed V5/V4 exports). - Version plumbing: V4V5VersionProvider detects /v6 routes (bendystraw still authoritative); /v6/[jbUrn] pages; PV6; FEATURE_FLAGS.V6; v6ProjectRoute; v6 approval-hook deadlines; USD currency id via USD_CURRENCY_ID(6). - Create flow launches V6: controller/terminal/prices addresses keyed by version, msg.value = exact JBProjects.creationFee on every v6 launch (direct, 721, Safe, and Relayr omnichain), v6 JBOmnichainDeployer launchProjectFor overloads with inline sucker configuration (parseSuckerDeployerConfig version 6), and the JBRouterTerminalRegistry registered alongside the multi terminal so v6 projects accept any token. Ruleset metadata and 721 configs are dual-keyed so one object encodes correctly under v4/v5 and v6 ABIs (the cash-out scope flag has inverted semantics in v6; 721 tiers gained nested flags/splits and dropped prices). - v4/v5 stay correct after the canonical-ABI flip: edit-ruleset, omnichain edit, NFT rewards resolution (dataHookOf → tiered721HookOf/REVOwner in v6), 721 tier editing, and terminal-fee reads (v6 fee is a constant) all branch per version. - Listing/explore: v6 projects flow through supabase sync, projects view filter, trending/homepage/search cards, and protocol activity with /v6 links. - projectId receipt parsing is now signature-based (project NFT mint Transfer), position-independent across versions and launch paths. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- Settings close/success links routed v6 (and any non-5) projects to /v4; use v4v5ProjectRoute with the context version. - The v6 project page's SEO/og URL advertised the /v5 route. - The create page gate now matches the v6 pages' feature flag. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Note on CI: Local verification of this branch with working env: full codegen + |
Summary
Adds full Juicebox V6 support alongside V4/V5 (mirroring how V5 sits next to V4 in the shared
v4v5package), and switches the create flow to launch V6 projects.SDK: now consumes
@bananapus/nana-sdk-core@1.0.0/@bananapus/nana-sdk-react@1.0.0(the formerjuice-sdk-core/juice-sdk-react, republished under the@bananapusscope with V6 support —jbContractAddress['6'], canonical ABIs = V6 with version-suffixed*V5Abi/*V4Abiexports wherever the older interface drifted).Create flow → V6
create/index.tsxprovider pinsdefaultVersion={6}; controller/terminal/prices addresses are keyed by version.msg.value = JBProjects.creationFee()exactly (v6 requirement) — direct controller launches, 721 launches, Safe proposals, and Relayr omnichain launches (value + version threaded through the forward request).JBOmnichainDeployer.launchProjectForoverloads (sucker deployment configuration is now an inline arg;parseSuckerDeployerConfig(..., { version: 6 })emits the v6 bytes32 peer/remoteToken shape).scopeCashOutsToLocalBalancesflag has inverted semantics vs v5'suseTotalSurplusForCashOuts; v6 tiers use nestedflags,splitPercent/splits,encodedIpfsUricasing, and dropprices.Transfer), position-independent across versions and launch paths.V4/V5 stay correct after the canonical-ABI flip
Everywhere the canonical (now-V6) ABIs would silently mis-target older contracts, calls branch by version: edit-ruleset (direct/omnichain/Safe — v6
queueRulesetsOfdropped the trailing controller arg), NFT-rewards resolution (dataHookOfsplit intotiered721HookOf/extraDataHookOfin v6; revnet fallback reads REVOwner on v6), 721 tier editing (adjustTiersshapes), cross-chain ruleset reads (renamed metadata bool normalized to v6 semantics), and terminal-fee display (v6 made the 2.5% fee a compile-time constant — newuseTerminalFeehook).Version plumbing & explore
V4V5VersionProviderdetects/v6routes (bendystraw's per-projectversionremains authoritative); new/v6/[jbUrn]+ settings pages;PV6;FEATURE_FLAGS.V6(default on);v6ProjectRoute; v6 approval-hook deadlines with cross-version ballot remapping;USD_CURRENCY_ID(6)./v6/...per row.Verification
tsc --noEmit: 0 errors with full codegen (main's baseline had latent drift errors that this PR also fixes).next build: compiles clean; full build (page-data collection) verified locally with real env.🤖 Generated with Claude Code