Tags give the ability to mark specific points in history as being important
-
v0.6.2
7cb38b3c · ·v0.6.2 — typed read-side block.actions[] parsing + signed-method smokes Adds typed Action variant dispatch on the read side: - BlockAction abstract base + 8 typed variants (Transfer / Mint / Burn / RegisterAccount / AddAccountKey / RevokeAccountKey / RegisterSessionKey / BridgeOut) + BlockActionUnknown fallback - BlockActionParser.Parse / ParseArray (externally-tagged dispatch) - BlockDetails.GetTypedActions() ergonomic getter - JsonByteArrayConverter for the chain's number-array byte wire shape Plus integration smokes for all 24 SignedXxxAsync methods using the existing FakeSigner→4xx pattern.
-
v0.6.1
c8e38b0e · ·v0.6.1 — wallet-coverage signed endpoints + hex parity + README walkthrough Adds the 4 signed endpoints chain shipped outside the 20-entry batch: - SignedDepositFuelAsync (/deposit-fuel-signed) - SignedNamespaceAdminAsync (/namespace-admin-signed) - SignedPlayerManageAsync (/player-manage-signed) - SignedPurchaseCapabilityWrappedAsync (/purchase-capability-signed) Plus byte-for-byte hex parity tests against chain's bridge_golden.rs for every borsh payload, and a README signed-mode walkthrough showing the full sign → POST → response loop with a sample IActionSigner. SignedEndpointRegistry widened from 20 to 24 entries.
-
v0.6.0
e7c45496 · ·v0.6.0 — full 20-endpoint signed absorption Absorbs every wrapped-JSON /...-signed endpoint chain shipped on 2026-05-03 in one drop (per all-signed-endpoints-shipped.md): - 18 single-sig SignedXxxAsync methods on VelocityClient - 2 §18 committee-quorum SignedCommitteeQuorumForce*Async methods - SignedActionEnvelope.BuildQuorum + CommitteeQuorumSignature - SignedEndpointRegistry (20-entry kind→path map) - Response DTOs (SignedActionWriteResponse, CommitteeQuorumSignedResponse) - New domain tags + 9 borsh payload structs (Mint/Burn/RegSession/ RevokeAcct/GrantCap/Grant+RevokeCrossNs/4×§18/FlashSwap) - Tests for envelope, registry, response DTOs, and every borsh layout The two legacy binary-envelope endpoints (register-signed, add-key-signed) keep their original shape; SDK still routes to them via the existing identity flow.
-
v0.5.2
c1354368 · ·0.5.2 Adds Signing.SignedActionEnvelope helper for the wrapped-JSON envelope shape chain confirmed as the going-forward standard for new signed-* endpoints (Mint / Transfer / Burn / Swap / AMM / Flash shipping in chain post-demo batches 1-3, May 12-30): { signed_action: { kind, payload, authority_key, authority_signature } } Pre-positioned: when those endpoints land, the SDK already has the borsh writer (0.5.0), domain tags (0.5.0), payload structs (0.5.0), and the envelope wrapper (this release). Only the HTTP-call layer per endpoint needs writing — fine-grained, low-risk follow-up. CHANGELOG documents the full signed-endpoints inventory: 5 exist today, ~13 land post-demo, plus §18 borsh goldens now pinned upstream at bridge_golden.rs commit 338413a. -
v0.5.1
c89e4120 · ·0.5.1 Patch release for the FlashStep HTTP wire correction. Chain confirmed in flashstep-wire-shape-and-phase-3-6-goldens.md that POST /flash-swap takes FlashStepRequest as an externally-tagged enum with flat token field pairs, not the internally-tagged {kind: swap, ...} shape with nested TokenId I shipped in 0.5.0. Fixed: - FlashStep abstract drops the Kind discriminator property. - All four variants use flat token_*_namespace / token_*_name fields with snake_case [JsonProperty] mappings. - FlashStepConverter (registered on VelocityJson.Settings) handles the {VariantName: {...}} external wrapper for both write and read. Borsh form (nested TokenId, used inside Action::FlashSwap.steps for signed-envelope flows) unchanged — will pair with SignedFlashSwapAsync when that wrapper lands. -
v0.5.0
33db086c · ·0.5.0 Adds the SurgentGaming.Velocity.Signing namespace — borsh writer, domain tags, tagged-preimage builder, IActionSigner interface, and per-action borsh payload classes covering Phase 1 Transfer, Phase 3 (CreateSwapPool / SetSwapRate / Swap), Phase 4 (CreateAmmPool / AddLiquidity / RemoveLiquidity / AmmSwap), and Phase 6 (PurchaseCapability). The SDK does NOT bundle a blake3 or ed25519 implementation — game devs plug their own crypto stack into IActionSigner. The contract: Sign(preimageBytes) returns the 64-byte ed25519 signature over blake3(preimageBytes). ActionSignerExtensions.SignTagged wraps the [u8 tag.Length, tag, payload] preimage build, signing call, and lowercase hex encoding into a single (publicKeyHex, signatureHex) result ready for the chain's admin_key_hex / *_signature_hex wire fields. End-to-end signed-mode wrapper: - SignedPurchaseCapabilityAsync — closes the one Phase 3-6 endpoint that has no custodial mode. Other signed-mode wrappers (SignedTransferAsync, SignedMintAsync, SignedBurnAsync, signed Phase 3 / 4 / 5 actions) wait on chain-side confirmation of the corresponding -signed endpoint paths and the golden-vector hex rows requested at siblings-comms/blockchain/unity-sdk-asking-flashstep-wire-and-goldens.md. Borsh writer pinned by 17 unit tests (primitives + collections); domain tags pinned by 6 ASCII-byte tests; preimage builder by 7 construction tests; HexUtil by 7; IActionSigner contract by 3 fake- signer tests. Each action payload has a pinned-bytes test ready for chain-side golden comparison.
-
v0.4.1
a364f10a · ·0.4.1 Patch release for the Phase 3-6 wire-shape corrections from chain's reply at siblings-comms/unity-sdk/phase-3-6-wire-shapes-and-custodial- confirmed.md. Fixed: - SwapPool / AmmPool DTOs: flat token field pairs (token_in_namespace + token_in_name etc) instead of nested TokenId. - SwapPool: lifetime fields renamed to lifetime_input_burned / lifetime_output_minted. - AmmPool: dropped unconfirmed lifetime fields. - All Phase 3-6 request bodies: flat token fields. - CreateAmmPoolAsync: dropped initial_liquidity_a/b which the chain doesn't accept. Breaking: - PurchaseCapabilityAsync now requires adminKeyHex + adminSignatureHex parameters (no custodial mode). Caller produces these externally via velocity-wallet or a future Borsh+Ed25519+Blake3 stack.
-
v0.4.0
31c9ac65 · ·0.4.0 Catch-up release covering Phase 3-6 + velocity-identity. The Unity SDK now mirrors the chain's full action surface as of 2026-05-03. Phase 3 (fixed-shop swap pools): - CreateSwapPoolAsync, SetSwapRateAsync, SwapAsync, ListSwapPoolsAsync, GetSwapPoolAsync. - SwapPool with client-side Quote() that matches chain math. Phase 4 (AMM pools): - CreateAmmPoolAsync, AddLiquidityAsync, RemoveLiquidityAsync, AmmSwapAsync, ListAmmPoolsAsync, GetAmmPoolAsync. - AmmCurve mirroring velocity_core::amm — SwapOutput, IntegerSqrt, MINIMUM_LIQUIDITY = 1000. - AmmPool with QuoteSwap() for byte-exact chain-equivalent previews. Phase 5 (flash loans): - FlashSwapAsync + FlashStep variants (Swap / Transfer / AddLiquidity / RemoveLiquidity). - FlashFee with FLASH_FEE_BPS = 5 and ceil-divide ComputeFlashFee. Phase 6 (capability payment): - NamespaceCapability enum + snake_case wire converter. - CapabilityPrices, GetCapabilityPricesAsync, PurchaseCapabilityAsync. velocity-identity bearer-token client: - IdentityClient(baseUrl, bearerToken) with GetMeAsync, GetLinksAsync, IssueSigningClaimAsync. - UserProfile, SigningClaim, VelocityAccountRef DTOs. - VelocityHttpClient.BearerToken pass-through for any future bearer-auth surface. Custodial-mode wrappers throughout — signed-envelope variants (caller-signed Mint / Transfer / Swap / etc.) land in 0.5.0 once chain-side wire shapes are confirmed (filed at siblings-comms/ blockchain/unity-sdk-asking-phase-3-6-wire-shapes.md).
-
v0.3.0
90cd2ee5 · ·0.3.0 Catch-up release. Brings the Unity SDK in line with chain changes that landed during the 2026-04-17 → 2026-05-03 stretch. Wire-format compatibility: - StringTolerantUlongConverter + nullable variant; VelocityJson shared serializer settings. Every DTO now accepts the chain's stringified u64 wire format (heights, balances, fuel, fees, rates, lifetime counters). Bridge settlement endpoints: - BridgeOutStatus DTO + GetBridgeOutStatusAsync / WaitForBridgeOutAsync — closes the forward-leg loop without the SDK touching a destination-chain RPC. - BridgeInStatus DTO + GetBridgeInStatusAsync — Hive/Solana → Velocity deposit progress. - HiveBridgeMemo helper for the velocity:<chain>:<address> memo format Hive depositors paste. Plus the post-0.2.0 polish that merged on main: - Error-body parsing, configurable Timeout. - Auto-reconnect streaming, Task/IAsyncEnumerable -> coroutine adapters. - GetMetricsAsync, GetValidatorAttestationHealthAsync. - WebGL SSE via .jslib EventSource shim. - Dormant unityci/editor CI job. Still deferred: player-signed actions, Phase 4-6 (AMM / flash loans / capability payment) action bodies, Solana-side mint_from_proof, sample .unity scene + editor windows. Demo-targeted catch-up.
-
v0.2.0
b6c069d7 · ·0.2.0 Demo-ready release. Adds everything past 0.1.0's read + write surface: Bridge: - Base58 decoder + DecodeToHex helper - BridgeOutAsync on VelocityClient - WaitForProofAsync polling helper Streaming: - SseFrame, SseFrameParser, SseDownloadHandler - StreamBridgeEventsAsync as IAsyncEnumerable<BridgeEvent> (non-WebGL) Inspector components: - VelocitySettings ScriptableObject - VelocityClientBehaviour MonoBehaviour - BridgeEventListener MonoBehaviour with UnityEvent<BridgeEvent> Samples: - Samples~/BasicDemo with BasicDemoController Documentation~/index.md landing page. README + CHANGELOG expanded. Deferred: WebGL SSE, auto-reconnect inside StreamBridgeEventsAsync, player-signed actions, Solana-side mint_from_proof interaction.
-
v0.1.0
c6167122 · ·0.1.0 First consumable release. Read + write endpoints against velocity-node: Read: - GetStatusAsync, GetLatestBlockAsync, GetBlockAsync, ListBlocksAsync - GetBalanceAsync, GetAccountBalancesAsync - GetCommitteeAsync, GetNamespaceBridgePolicyAsync - GetFinalizedBridgeEventsSinceAsync, GetProofAsync Write: - MintAsync, TransferAsync, BurnAsync - RegisterAccountAsync, RegisterNamespaceAsync, DepositFuelAsync Infrastructure: UnityWebRequest wrapper, typed exception hierarchy, QueryString helper, ProofResult 200/409/404 typed states. Deferred to 0.2.0: BridgeOutAsync, SSE streaming, sample scene.