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 SPLmint_tosigned by[b"test_usdc_mint_authority"]PDA. - Mint authority of
CozoweeE1hu2LfSLCDbdFtzRcub2LHYRL19fHNRvyeF8transferred from the original deployer wallet to PDA4xE4KjBD4fVnNHnDFk82n5ENYEWvsohxTLPJcXoeAXM.
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
@exampletags - Arena config fields categorized: Economy, Structure, Labels, Entry Requirements
registerProfile(): documented name uniqueness (not required) and check-first patternactionSchema: 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:
GameServerclass with full oracle lifecycle, mock mode, retry logic, and event emissionlistArenas(filter?)— query all arenas with state, fee, and creator filterswatchArena()/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,ArenaFilterarenaStateLabel()helperIDL— raw Anchor IDL for advanced usage
v0.2.0 (March 2026)
New features:
RitArenaclient with all write methods (register, create, enter, start, eliminate, finalize, claim)RitArenaReaderbase class with all read methodspdashelper object for PDA derivation- Full TypeScript types for all on-chain accounts
BATTLE_ROYALE_TEMPLATE— sensible defaults for arena creationRitArenaErrorwith error codes and suggestions
v0.1.0 (March 2026)
Initial release:
- Basic client with
createArenaandenterArena - 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
collectProtocolFeeandabandonArena - 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_TREASURYerror 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