Skip to content

[PLA-2500] Regenerate SDK and set version to v3.0.4 - #43

Merged
Bradez merged 2 commits into
3.xfrom
feature/PLA-2500/update-to-v3-0-4
Aug 4, 2026
Merged

[PLA-2500] Regenerate SDK and set version to v3.0.4#43
Bradez merged 2 commits into
3.xfrom
feature/PLA-2500/update-to-v3-0-4

Conversation

@JayPavlina

@JayPavlina JayPavlina commented Aug 4, 2026

Copy link
Copy Markdown
Collaborator

This pull request introduces version 3.0.4 of the Enjin Platform SDK, adding new features, making several breaking changes to the API, and deprecating some fields. The main focus is on improved fuel tank support, enhancements to token creation and minting, and expanded event and transaction details. Please review the breaking changes carefully, as they may require updates to your integration.

New Features and Additions:

  • Pusher channel authorization: Added the AuthenticatePusherSocket(id) mutation, PusherSocketAuth model, and PusherSocketAuthQueryBuilder to support authorizing users for private Pusher channels. [1] [2]
  • Token creation enhancements: Added freezeState to CreateTokenInput and CreateTokenEntryInput for initializing tokens as frozen. [1] [2] [3] [4] [5] [6] [7]
  • Transaction details: Added Transaction.FailedItemIndexes to report failed batch item positions for CONTINUE_ON_ERROR mode.
  • Fuel tank model updates: Added CompatibleFuelTank.Address and CompatibleFuelTank.AvailableBudget to provide more detailed fuel tank information. [1] [2] [3]
  • Other enhancements: Added idempotencyPrefix to SweepManagedWallet and clarified event and transaction error documentation. [1] [2]

Breaking Changes and Removals:

  • Fuel tank compatibility: GetCompatibleFuelTanks now takes transactions and batchMode instead of pallet and method, and compatibility is evaluated against encoded calls. [1] [2]
  • Type changes for ENJ values: The following fields are now typed as string (accepting decimal or integer ENJ, e.g., "1.5"), instead of System.Numerics.BigInteger:
    • infusion on CreateTokenInput/CreateTokenEntryInput [1] [2] [3]
    • unitPrice on MintTokenInput/MintTokenEntryInput [1] [2] [3]
  • Fuel tank model removals: The following properties have been removed from CompatibleFuelTank, replaced by AvailableBudget:
    • RemainingBudget, MaxBudget, and ConsumedBudget [1] [2]
  • Other removals: Unity/UPM support and related files are dropped; the SDK is now distributed via NuGet only.

Documentation and Metadata Updates:

  • Updated CHANGELOG.md for v3.0.4 and added comparison links for new versions.
  • Corrected and clarified documentation for fuel tank rule sets and event fields. [1] [2]
  • Incremented SDK and test project versions to 3.0.4. [1] [2]

Summary of Most Important Changes:

API Additions:

  • Added Pusher channel authorization support with new mutation and model. [1] [2]
  • Added freezeState to token creation inputs. [1] [2] [3] [4]

Breaking Changes:

  • Changed ENJ-related fields (infusion, unitPrice) from BigInteger to string for decimal support. [1] [2] [3] [4]
  • Updated GetCompatibleFuelTanks input and removed several CompatibleFuelTank fields, replacing them with AvailableBudget. [1] [2]

Documentation and Versioning:

  • Updated changelog, project versions, and clarified several documentation comments. [1] [2] [3]

Please review these changes for breaking API updates and new features you may want to adopt.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR regenerates the Enjin Platform C# SDK against the latest schema and bumps the package/test project version to v3.0.4, introducing new GraphQL fields/mutations and several breaking type/signature changes that align with updated platform behavior.

Changes:

  • Adds Pusher private-channel authorization support via AuthenticatePusherSocket plus PusherSocketAuth model/query builder.
  • Updates fuel-tank compatibility querying to evaluate encoded transaction calls (breaking signature change), and refreshes related fuel-tank models/fields.
  • Expands transaction batch-failure reporting (FailedItemIndexes) and updates ENJ-valued input fields to use string (breaking type change), plus adds token freezeState and sweep idempotencyPrefix.

Reviewed changes

Copilot reviewed 21 out of 21 changed files in this pull request and generated no comments.

Show a summary per file
File Description
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/QueryBuilders/TransactionQueryBuilder.cs Adds query-builder support for failedItemIndexes on transactions.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/QueryBuilders/QueryQueryBuilder.cs Breakingly updates GetCompatibleFuelTanks arguments to transactions + batchMode.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/QueryBuilders/PusherSocketAuthQueryBuilder.cs New query builder for PusherSocketAuth.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/QueryBuilders/MutationQueryBuilder.cs Adds AuthenticatePusherSocket; extends SweepManagedWallet with idempotencyPrefix.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/QueryBuilders/CompatibleFuelTankQueryBuilder.cs Updates compatible fuel-tank selectable fields (adds address, replaces budget fields).
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Model/Transaction.cs Adds FailedItemIndexes and clarifies Error semantics.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Model/Query.cs Updates GetCompatibleFuelTanks documentation to match new call-based compatibility.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Model/PusherSocketAuth.cs New model representing Pusher channel auth response payload.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Model/Mutation.cs Adds AuthenticatePusherSocket to the mutation root model.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Model/FuelTankRuleSet.cs Retypes WhitelistedPallets to FuelTankWhitelistedPallet enum collection and updates docs.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Model/Event.cs Clarifies Event.Id format in documentation.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Model/CompatibleFuelTank.cs Adds Address, replaces per-user budget fields with AvailableBudget.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Inputs/MintTokenInput.cs Retypes unitPrice from BigInteger? to string? with updated documentation.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Inputs/MintTokenEntryInput.cs Same unitPrice retype/documentation update as MintTokenInput.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Inputs/CreateTokenInput.cs Adds freezeState; retypes infusion from BigInteger to string with updated docs.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Inputs/CreateTokenEntryInput.cs Adds freezeState; retypes infusion from BigInteger to string with updated docs.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Inputs/CreateFuelTankInput.cs Corrects docs to state at least one rule set is required.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Schema/Infrastructure/GraphQlTypes.cs Registers the new PusherSocketAuth GraphQL type constant.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk/Enjin.Platform.Sdk.csproj Bumps SDK package version to 3.0.4.
src/Enjin.Platform.Sdk/Enjin.Platform.Sdk.Tests/Enjin.Platform.Sdk.Tests.csproj Bumps test project version to 3.0.4.
CHANGELOG.md Adds v3.0.4 release notes, including breaking changes and new features.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@JayPavlina
JayPavlina requested a review from Bradez August 4, 2026 14:59
@Bradez
Bradez merged commit 003a587 into 3.x Aug 4, 2026
2 checks passed
@Bradez
Bradez deleted the feature/PLA-2500/update-to-v3-0-4 branch August 4, 2026 17:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants