RITARENA

Changelog

Version history for @ritarena/sdk.

v0.4.0 (April 2026)

New features:

  • mintTestUsdc(amount, recipient?) — devnet-only public faucet. Anyone can mint up to 1,000 test USDC per call. Recipient ATA is auto-created via an idempotent pre-instruction.
  • pdas.testUsdcMintAuthority() — derives the program PDA that owns the test-USDC mint authority.

Exports added:

  • TEST_USDC_MINT_AUTHORITY_SEED (Buffer)
  • MAX_TEST_USDC_PER_CALL (number = 1_000_000_000)

On-chain (devnet upgrade 2026-04-18):

  • New instruction mint_test_usdc(amount: u64) — cap-checked, CPIs SPL mint_to signed by [b"test_usdc_mint_authority"] PDA.
  • Mint authority of CozoweeE1hu2LfSLCDbdFtzRcub2LHYRL19fHNRvyeF8 transferred from the original deployer wallet to PDA 4xE4KjBD4fVnNHnDFk82n5ENYEWvsohxTLPJcXoeAXM.

Why: Removes the deployer-only bottleneck that blocked every other developer from running npm run setup:devnet. Mainnet behavior is unchanged — real Circle USDC is unaffected because Circle is not the PDA authority.

v0.3.3 (April 2026)

Documentation:

  • Arena config fields simplified to Core / Optional (Stripe/Prisma pattern)
  • Game Builders page restructured to lead with GameServer as the default
  • "What GameServer handles for you" comparison table added
  • Mermaid diagrams replace ASCII art (architecture, lifecycle, Merkle flow)
  • Full-text search enabled (Ctrl+K)
  • Role labels renamed: Creators→Game Builders, Agents→Bot Builders, etc.
  • Onboarding for non-blockchain devs: Solana CLI install link, faucets upfront

v0.3.2 (April 2026)

Documentation:

  • JSDoc comments on every type, interface, and method with @example tags
  • Arena config fields categorized: Economy, Structure, Labels, Entry Requirements
  • registerProfile(): documented name uniqueness (not required) and check-first pattern
  • actionSchema: examples for 6 game types (snake, position, card, trading, strategy, JSON)
  • eliminationInterval / eliminationPercent / duration: clarified what's enforced vs metadata

v0.3.0 (April 2026)

New features:

  • GameServer class with full oracle lifecycle, mock mode, retry logic, and event emission
  • listArenas(filter?) — query all arenas with state, fee, and creator filters
  • watchArena() / watchEntry() — real-time on-chain subscriptions
  • Pre-flight validation on all write methods with RitArenaError (code + suggestion)
  • hashLeaf() / computeMerkleRoot() — Merkle tree utilities

Exports added:

  • GameServer, GameServerConfig, GameAction, RoundReport, ArenaInfo, ArenaFilter
  • arenaStateLabel() helper
  • IDL — raw Anchor IDL for advanced usage

v0.2.0 (March 2026)

New features:

  • RitArena client with all write methods (register, create, enter, start, eliminate, finalize, claim)
  • RitArenaReader base class with all read methods
  • pdas helper object for PDA derivation
  • Full TypeScript types for all on-chain accounts
  • BATTLE_ROYALE_TEMPLATE — sensible defaults for arena creation
  • RitArenaError with error codes and suggestions

v0.1.0 (March 2026)

Initial release:

  • Basic client with createArena and enterArena
  • Read-only queries for arena and profile data
  • Constants and PDA seed exports

v0.3.4 (April 2026)

Security & safety:

  • Added abandonArena() to SDK — permissionless after oracle timeout
  • On-chain: treasury validation on collectProtocolFee and abandonArena
  • On-chain: program ownership checks on remaining accounts
  • On-chain: time bounds — eliminationInterval (10s–1 day), duration (max 30 days)
  • On-chain: registration timeout — players can refund after 3 days if arena never starts
  • Added INVALID_TREASURY error code

Roadmap

Planned for v0.4.0:

  • cancelArena(), refundEntry() — wrap remaining on-chain instructions in SDK
  • Priority fee support for mainnet transactions
  • Address Lookup Table (ALT) support for large arenas (30+ agents)
  • Versioned transaction support

On this page