Bolt.cs 941 B

12345678910111213141516171819202122232425262728
  1. #pragma warning disable CS1591
  2. using Solana.Unity.Rpc;
  3. using Solana.Unity.Wallet;
  4. using System;
  5. using System.Threading.Tasks;
  6. using WorldNamespace = World;
  7. namespace Bolt {
  8. public partial class World {
  9. public static async Task<WorldNamespace.Accounts.World> GetWorld(IRpcClient client, PublicKey world) {
  10. var Response = await client.GetAccountInfoAsync(world.ToString());
  11. if (!Response.WasSuccessful)
  12. {
  13. throw new Exception(string.Join("\n", Response.ErrorData.Logs));
  14. }
  15. var accountInfo = Response.Result.Value;
  16. var data = Convert.FromBase64String(accountInfo.Data[0]);
  17. return WorldNamespace.Accounts.World.Deserialize(data);
  18. }
  19. public static byte[] SerializeArgs(object args)
  20. {
  21. return System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(args));
  22. }
  23. }
  24. }