deviant/contracts
Local Dev 1d00d2d115 feat(potidaea): real Katalogos Publish broadcast · TST431 registered on chipnet
Stage C of the create→list arc. The wizard's "Publish for \$1 in DEA"
button (and every other openPublishOverlay entry) now broadcasts a real
KatalogosRegistryV1.register() transaction via the local signer.

src/publish.ts (new)
  publishViaLocalSigner(signer, categoryId) builds the four-output
  register() tx:
    inputs   [0] state UTXO (minting NFT) at registry contract,
                 unlocked via covenant register(targetCategory,
                 oracleSig, oracleMessage)
             [1+] DEA UTXOs from signer (≥ feeDea)
             [N+] plain BCH from signer for miner fee + dust
    outputs  [0] state UTXO re-created (minting NFT preserved)
             [1] entry NFT (immutable, commitment = target category)
             [2] fee to treasury (≥ 231 atomic DEA at chipnet rate)
             [3+] DEA change (if any) + BCH change
  Oracle: chipnet dev key (baked, matches shells/app/src/core/
  katalogos-oracle-dev.ts). Signs a 16-byte AnyHedge-shape message
  with satsPerUsd=200,000. feeDea = ceil(satsPerUsd / deaRateSats)
  = 231 (matches the covenant's ceil-div on-chain).
  Address helper encodes the treasury LB as p2pkhWithTokens
  (bchtest:z…) because cashscript refuses a token output to a
  non-token-aware address even when the underlying locking bytecode
  is identical.

  PublishError typed codes (insufficient-dea/insufficient-bch/
  no-state-utxo/invalid-category/other) so main.ts can render
  actionable messages.

src/main.ts
  wirePublishInterceptor monkey-patches window.openPublishOverlay so
  EVERY entry (post-genesis button, Katalogos row, Stoa link) routes
  through the real broadcast when a local signer is attached;
  falls back to the mockup's illustrative overlay otherwise.
  runRealPublish renders a small scrim, calls publishViaLocalSigner,
  refreshes the registry read on success so the count updates
  immediately. On PublishError('insufficient-dea') it prints the
  signer address so the user knows where to send DEA.

contracts/ArtemisionMintFT.cash
  Family-doc header refreshed with the three MBA Shares siblings
  chipnet-proven this session: DeviantShareMBA + DistributionVault +
  TermCouponVault. Enumerates the three Artemision presets that
  compose them (rewards / shares+dividends / t-bond).

Bug fixes along the way (verified before publish landed):
  • DEA change output uses signer.tokenaddr (was cashaddr → cashscript
    "no token support" error).
  • register()'s targetCategory arg passed as display-order bytes to
    match the commitment cashscript writes into the NFT — NOT the
    consensus-LE reversal used for constructor args like
    registryCategory. Byte-order mismatch surfaced as
    "require(tx.outputs[1].nftCommitment == targetCategory)" failing.

SMOKE-TESTED ON CHIPNET (Wallet D, TST431 from prior genesis smoke)
  Attach Wallet D → openPublishOverlay('TST431')
  Publish tx: 27017650fa58c4f5635a2293041d82f0c7e184b46b4b1abd0586cfe95e89c134
  Category:   2dd5af3fb0660c23d8aa96a44edf8d33eb5ab838f46573e6df543fab94997a49
  Fee:        231 atomic DEA (\$1 at chipnet dev-oracle rate)
  Registry count after reload: 8 → 9 · window.potidaeaRegistry now
  includes TST431's category id.

WHAT WORKS  ·  WHAT REMAINS
  ✓  Create MBA → swap MBA (same-user, from genesis smoke ed73…)
  ✓  Publish MBA → Katalogos v1 (cross-user visibility of the id)
  •  Cross-user metadata for swap: v2 registry with params on-chain
     per ADR-0055 Amendment 2026-09-02 (readers see the id today,
     but need rate/fee/founderLB to build a claim tx).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-09-06 18:35:41 +02:00
..
evm feat(cross-chain): human-named gateway (wallet-legible) + own-wallet Send plan 2026-07-15 03:11:44 +02:00
tron feat(build-b): native-coin lock-and-mint (tTRX) validated — List B2 2026-06-28 16:04:18 +02:00
AnthemusOrderBook.cash feat(anthemus): DEX MVP — order-book covenant, discovery relay, Swap + Exchange UIs (snapshot 0220) 2026-07-21 23:40:41 +02:00
ApplicationCovenant.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ApplicationCovenantB.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ApplicationCovenantC.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ApplicationCovenantD.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ApplicationCovenantE.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ArtemisionMintFT.cash feat(potidaea): real Katalogos Publish broadcast · TST431 registered on chipnet 2026-09-06 18:35:41 +02:00
AsmFxSwap.cash chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
AtomicSwapHTLC.cash feat(crosschain): BTC↔BCH test program — HTLC swap, native channel, on-chain rails, BTC-IOU 2026-06-24 22:28:34 +02:00
BallotCovenant.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
BchChannelBoard.cash feat(t6): BCH-as-LN-board + real BTC 2-of-2 channel on signet — "better LN" validated 2026-06-25 00:20:01 +02:00
BchChannelBoardHTLC.cash feat(t6): BCH channel-board HTLC contract + LN to T6 routing script 2026-06-26 22:12:30 +02:00
BchChannelBoardUni.cash feat(t6-mvp): self-custodial channel engine — board (checkDataSig) + BTC 2-of-2 (PSBT) 2026-07-02 02:28:47 +02:00
BchChannelClose.cash feat(crosschain): BTC↔BCH test program — HTLC swap, native channel, on-chain rails, BTC-IOU 2026-06-24 22:28:34 +02:00
BchPaymentChannel.cash feat(crosschain): BTC↔BCH test program — HTLC swap, native channel, on-chain rails, BTC-IOU 2026-06-24 22:28:34 +02:00
BinaryShareFungibleBCH.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
BinaryShareVaultBCH.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
BinaryShareVaultMBA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
BinaryShareVaultPoll.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
BondedSignerSlash.cash feat(t6): validate BTC↔BCH end-to-end + bonded M-of-N + wallet UX (ADR-0046) 2026-06-28 00:27:04 +02:00
BurnSink.cash feat(t6): Path A swap-out, bonded IOU mint/redeem (B1/B2), Anthemus BTC-T6/USDc spot market 2026-06-30 07:46:37 +02:00
CheckersGame.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
CitizenToken.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ComplaintCovenant.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
Deposit.cash test(cross-chain): composed atomic-swap regtest — 5/5 passing on libauth VM 2026-09-06 18:27:30 +02:00
DepositHTLC.cash test(cross-chain): composed atomic-swap regtest — 5/5 passing on libauth VM 2026-09-06 18:27:30 +02:00
DeviantAdjustableFeeCapped.cash snapshot(0259): asm adjustable fee-with-cap covenant + wallet-integration handoff 2026-09-02 00:23:18 +02:00
DeviantBondingCurveFT.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantDescFeeSupply.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantEscFeeBlockHeight.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantEscFeeBlockHeightV2.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantEscFeeSupply.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantEscFeeTxCount.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantExpDRA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantManagedMintFT.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantOpenMintFT.cash refactor: retire legacy OP_RETURN-era swap files 2026-06-13 21:20:40 +02:00
DeviantOpenMintFT_Backdoor.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantOpenMintFT_Escalating.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantOpenMintFT_NoPeg.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantOpenMintFT_Whitelist.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantOpenMintNBA.cash chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
DeviantOracleMBA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantOracleMBA_DraFee.cash docs(reorg): regroup native-ASM specs under ASM_Native + move Pari_P2P into Betting 2026-07-19 17:09:40 +02:00
DeviantOracleMBAFloor.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantReflectiveDRA.cash docs(reorg): regroup native-ASM specs under ASM_Native + move Pari_P2P into Betting 2026-07-19 17:09:40 +02:00
DeviantShareMBA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantStepDRA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantSuperExpDRA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
DeviantTieredMintOracleFT.cash chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
DeviantWrapMintIOU.cash feat(cross-chain): DGB deposit + redeem round-trip live (mainnet ↔ chipnet) 2026-09-04 22:53:35 +02:00
DeviantWrapMintIOUMofN.cash feat(t6): Path A swap-out, bonded IOU mint/redeem (B1/B2), Anthemus BTC-T6/USDc spot market 2026-06-30 07:46:37 +02:00
DistributionVault.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ElderFreezeAction.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
EndorsementCovenant.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
EscalatingDualLadderNFT.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
EscalatingDualNFT.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
EscalatingPriceNFT.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
EscalatingVoteDualNFT.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
EscalatingVoteNFT.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
EventPredictionEscrow.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ExpiringMBA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
GamePoolEscrow.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
GamePoolEscrowFlat.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
GamePoolEscrowFlatV2.cash chore: checkpoint in-flight work across shell, contracts, and docs 2026-07-07 02:02:05 +02:00
KatalogosRegistryV1.cash feat(katalogos): ship shared registry v1 on chipnet — oracle-priced $1 in DEA 2026-08-31 01:02:29 +02:00
OpenTote.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
OraclePricedVault.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ParimutuelTote.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ParimutuelTote4.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ParimutuelToteOpen.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ParimutuelToteOpenK4.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ParimutuelToteOpenMBA.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
PegState.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
PollCovenant.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
PotidaeaEpochState.cash chore: checkpoint in-flight work across shell, contracts, and docs 2026-07-07 02:02:05 +02:00
PotidaeaListingRequest.cash chore: checkpoint in-flight work across shell, contracts, and docs 2026-07-07 02:02:05 +02:00
PotidaeaOlympiaListing.cash chore: checkpoint in-flight work across shell, contracts, and docs 2026-07-07 02:02:05 +02:00
RegistryState.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
ShareLimitOrderBCH.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
SharePairAMM.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
SharePairAmmV2.cash feat(anthemus): SharePairAmmV2 — LP tokens + 0.30% curve fee validated; ADR-0049 ratified (snapshot 0222) 2026-07-22 00:01:12 +02:00
SortitionBeacon.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
StakeVoteTote.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
TallyState.cash chore: initial project baseline — full Deviant codebase under version control 2026-06-13 20:38:07 +02:00
TermCouponVault.cash chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
UnifiedUsdtReserve.cash feat(cross-chain): unified-USDT per-chain reserve covenant (correspondent Step 1) 2026-07-13 08:06:32 +02:00
UniformReserve.cash chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
UniformReserveAggregate.cash chore: sweep in-flight work across all domains 2026-07-29 01:14:33 +02:00
WithdrawalHTLC.cash test(cross-chain): composed atomic-swap regtest — 5/5 passing on libauth VM 2026-09-06 18:27:30 +02:00