enjin / platform-csharp-sdk Goto Github PK
View Code? Open in Web Editor NEWSDK for connecting to and interacting with the Enjin Platform.
License: GNU Lesser General Public License v3.0
SDK for connecting to and interacting with the Enjin Platform.
License: GNU Lesser General Public License v3.0
With the new Managed Wallet feature one of the most useful (and likely most used) queries will be 'return all Tokens belonging to this list of Colletions in this Player's managed wallet' . Executing this basic query today requires ALOT of framents/sub queries either starting with GetWallet or GetTokens.
Suggestion 1: Add a .SetExternalID and/or a .SetAddress to the GetToken API request. This will still require a 2-3 level dive in Edges/Nodes to get the Tokens but atleast only for the requested ones.
Suggestion 2: Add a .SetCollections to GetWallet as this would also give the desired result. The good thing here is that the returned Tokens will only be one level down in the Edge/Node tree.
Suggestion 3. Create a new query altogether GetTokensInWallet (or something to that effect) with a .SetCollections and SetExternalID/SetAddress params and then return a clean Connection.
The issue with the current implementation is that SendCreateWallet will return true even if the resulting player wallet as no Address assigned. This means that expected workflow for creating a managed player and immediately assigning them to a FuelTank will fail (SendCreateWallet .success -> GetWallet.success -> AddAccount using returned wallet.Account.Address) If you add a wait 3secs or so between succesfull SendCreateWallet and GetWallet you might get lucky and have the Address field field filled out. This not ideal.
Solution 1. SendCreateWallet only returns true when Wallet has been completely formed (with Address and Public Key).
Solution 2. SendCreateWallet returns a Transaction for the Wallet creation (with Address and Public Key).
Since creating a managed player and adding a FuelTank ref is expected to be the most common scenario why not do both in one call
Solution 3. SendCreateWallet.SetTankId().SetExternalId() for a combined create managed wallet + add fueltank. Returning a Transaction.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.