All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
KukaiConnector
class to handle Kukai wallet connections.OnWalletDisconnected
event handling inTezosAuthenticator
.- Refactor of wallet and connector interfaces to improve modularity and flexibility, including:
- New focused wallet interfaces (
IWalletConnection
,IWalletAccount
,IWalletTransaction
,IWalletContract
,IWalletEventProvider
) for better separation of concerns. WalletConnectorFactory
to replaceBeaconConnectorFactory
, reflecting a more generic wallet connection approach.
- New focused wallet interfaces (
- Introduced
TezosLogger
class to replaceLogger.cs
for improved and cleaner logging and to avoid conflicts with Unity'sLogger
class. - Enabled sourcemaps on WebGL for debugging.
- Introduced
InitializeTezosAsync
method inTezosManager
to allow for asynchronous initialization of the SDK, so that listeners can wait for the SDK to be ready before proceeding. TezosManager
now has aIsInitialized
property to check if the SDK has been initialized.
- Refactored asynchronous callbacks throughout the SDK to use the
Result<T>
pattern for improved error handling and clarity. - Simplified HTTP request logic for better efficiency and readability, including updates to
TezosHttpClient
to utilize coroutine callbacks. - Improved operation tracking in
OperationTracker
andWalletProvider
to improve blockchain operation tracking and error reporting mechanisms. - Updated event naming and handling to improve clarity and streamline the event handling process, renaming events such as
ContractCallInjected
toOperationInjected
and using generic events likeOperationCompleted
inWalletEventManager
. TokenMetadata
type toJsonElement
to be able to handle generic metadata.- Connector system, renaming
IBeaconConnector
toIWalletConnector
and modifying implementations (BeaconConnectorDotNet
,BeaconConnectorWebGL
) to align with new interface. TokenContract
andBeaconConnectorDotNet
classes updated to use the new wallet interfaces.- Method signatures and implementations across wallet-related classes to align with new interfaces.
- Event handling in connectors to ensure proper translation and dispatch according to the new event system structure.
- Logging and error handling across the modified classes for better debugging and maintenance.
- Connection and operation request flows in wallet connectors to enhance performance and user experience.
- Samples have been updated to use the new namespaces and namings.
- WebGL fixes and security improvements.
- File structure, folder structure, and namespace changes.
- Addressed a memory leak in
TokenContract
where event handlers were not being properly unsubscribed. - Handling of
SDKInitialized
event inBeaconConnectorWebGl
andTezosAuthenticator
to ensure proper initialization. - WebGL persistent auth for Beacon wallet provider.
- Outdated debug logs to clean up codebase and improve maintainability.
- Dark background UI element in
TezosAuthenticator
prefab.
- Updated comments to reflect new callback signatures and their behaviors as well as the use of the
Result<T>
pattern. - Updated comments to describe the new wallet and connector interface structure and their benefits.
3.0.0 - 2023-01-09
- Tutorial scenes within the
Tutorials
folder, offering step-by-step guidance on SDK features. - Centralised event management system
WalletEventManager.cs
for uniform event handling. TezosManager
as a singleton pattern and as a prefab for easy SDK initialization and management.TezosAuthenticator.prefab
to streamline user authentication processes with drag-and-drop setup.TezosConfigSO
andDataProviderConfigSO
for flexible and user-friendly SDK configuration management.
- Folder restructuring and namespace adjustments for clarity and better organization.
- Renaming of classes and files across the SDK to enhance understandability (e.g.,
DemoExample
toMarketplace Example
andNftApi Sample
toNft Api Example
). - Refactored HTTP client construction to utilise
DataProviderConfigSO
for data settings. - Namespace adjustments to reflect the new folder structure.
- Update of
package.json
to provide better descriptions and categorisation of samples. - Improvement and consolidation of log messages and error handling throughout the SDK.
- Major code cleanups and refactoring across multiple files (
BeaconClientManager.cs
,WalletProvider.cs
,Tezos.cs
, and others) for readability and maintainability.
- Obsolete scripts, e.g.,
WalletProviderInfo
,ApiTests
and Unity events and prefabs associated with outdated functionalities. - Unused fields and refactored classes to remove redundant methods and streamline interfaces (e.g., changes in
IBeaconConnector
).
- Enhanced UI responsiveness and visual aesthetics.
- Resolved TypeScript serialization issues on the WebGL frontend.
- Bug fixes in
GetContractTokenIds
handling of zero token counts. - Miscellaneous bug fixes and improved error handling throughout the codebase.
- Phased out classes and methods that have been replaced by the new event management system and singleton patterns.
- Deprecated
TezosSingleton.cs
in favor ofTezosManager.cs
.
- Due to extensive changes, users are encouraged to review the changed file paths and updated namespaces to ensure compatibility with the new version.
- Custom implementations should be revised to work with the new central event manager (
WalletEventManager.cs
).
2.0.7 - 2023-10-24
- Configurable parameters (
networkType
,rpcUrl
,dAppMetadata
andlogLevel
) for Tezos singleton instance.
- Default RPC node to tezos.marigold.dev
2.0.6 - 2023-10-16
- Disabled
Kukai Embed
silent signing - Updated
Kukai Embed
to0.8.9
- Updated
@airgap/beacon-sdk
to4.0.12
- Persistent auth on WebGL platform
2.0.5 - 2023-08-12
- Unity readme
2.0.4 - 2023-08-11
- Asset store validator tool warnings for WebGLCopyAndPaste feature
- .unitypackage release with GH actions
2.0.3 - 2023-08-01
- Mint button in inventory rolled back to old behaviour that uses contracts on view
- Added Mint FA2 Token button on welcome screen
- Removed upload file feature usage from DemoExample sample
2.0.2 - 2023-07-28
- WebGL
GetActiveAccountAddress
function.
2.0.1 - 2023-07-28
- NftApi sample bug with incorrect key error.
2.0.0 - 2023-07-11
- FA2 token contract (deploy, mint and transfer features)
- Implemented IPFS and on-chain image uploaders for WebGL and Editor platforms
- Issue Report Form menu item path changed (new path:
Tools/Tezos SDK for Unity/Report an Issue
) - ITezosAPI renamed to ITezos, refactored and divided in Wallet and API parts
- Missing namespaces
1.5.1 - 2023-06-27
- Bug with game items transfer not working
- Ipfs web uploader
- Ipfs editor uploader
1.5.0 - 2023-06-22
- Bug with UnityBeacon gameobject
- Bug fix contracts compilation on Ligo
0.65.0
- Bug Marketplace is not getting loaded on WebGL
- Bug with incorrect Micheline params serialization on WebGL
- Bug with sharing violation on
beacon.db
- Kukai embed login option for WebGL builds
- Ability to build WebGL frontend bundle with Webpack, refactored WebGL fronted app structure
- API method:
GetLatestBlockLevel
- Editor Issue Report Form window
- Readme section about mobile-platforms building with disabled
Managed Stripping Level
- Updated Beacon TypeScript dependency
- Refactored namespaces, root namespace now is
TezosSDK
1.4.0 - 2023-05-18
- Better coroutine error handling
- API methods:
GetOwnersForToken
,GetOwnersForContract
,IsHolderOfContract
,GetTokenMetadata
,GetContractMetadata
,GetTokensForContract
,GetOperationStatus
- User ability to specify logging level
- Tezos config singleton class
IDataProviderConfig
andTzKTProviderConfig
implementation- Test runner with GH actions
- Refactor: Tezos divided into two parts: Wallet and API
1.3.1 - 2023-04-27
- Beacon SDK version to 1.0.23
1.3.0 - 2023-04-25
- Custom unity readme
- Bug with unnecessary
RequestPermission()
call while clicking onDeeplink connect
button on mobiles
- Package structure
- SignPayload method: now users can pass payload as plaintext without hex-encoding
- Readme images
1.2.1 - 2023-04-17
- Bug with Newtonsoft reference
1.2.0 - 2023-04-17
- Authentication.prefab
- WebGl unitypackage plugin
- API single entrypoint
1.1.0 - 2023-03-31
- UPM-compatible Package
- CI to publish package to NPM registry
- Cross-Session-Persistence to authentication
- Bugs on sample project
- Beacon SDK version
0.0.2 - 2023-02-28
- Fixed correct network type resolving in dotnet BeaconConnector
- Removed redundant
.dll
binary files from beacon-dotnet-sdk plugins
0.0.1 - 2023-02-28
- The project has now a CHANGELOG
- Added auto releases with GH actions