public async Task BasicStorageTestNoParameterAsync1() { await _substrateClient.ConnectAsync(); var reqResult = await _substrateClient.GetStorageAsync("System", "Number"); Assert.AreEqual("BlockNumber", reqResult.GetType().Name); Assert.IsTrue(reqResult is BlockNumber); await _substrateClient.CloseAsync(); }
private static async Task OwnedMogwaisCountSubscriptionAsync(string[] args) { using var client = new SubstrateClient(new Uri(Websocketurl)); client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>()); await client.ConnectAsync(CancellationToken.None); var reqResult = await client.GetStorageAsync("DotMogModule", "OwnedMogwaisCount", new[] { Utils.Bytes2HexString(Utils.GetPublicKeyFrom("5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH")) }, null, CancellationToken.None); Console.WriteLine($"DotMogModule.OwnedMogwaisCount = {reqResult}"); Action <string, StorageChangeSet> callBackSubscribeStorage = (subscriptionId, eventObject) => { Console.WriteLine($"Subscription[{subscriptionId}]: {eventObject}"); }; // TODO GetStorageKeyBytesHash var keys = await client.GetStorageKeysAsync("DotMogModule", "OwnedMogwaisCount", CancellationToken.None); //var subscriptionId = await client.SubscribeStorageKeyAsync("DotMogModule", "OwnedMogwaisCount", new string[] { Utils.Bytes2HexString(Utils.GetPublicKeyFrom("5DotMog6fcsVhMPqniyopz5sEJ5SMhHpz7ymgubr56gDxXwH")) }, var subscriptionId = await client.State.SubscribeStorageAsync(keys, callBackSubscribeStorage, CancellationToken.None ); Thread.Sleep(60000); var reqResultUnsubscribe = await client.State.UnsubscribeStorageAsync(subscriptionId, CancellationToken.None); }
public async Task GetBalanceTestAsync() { var extrinsic_wait = 5000; Assert.AreEqual("0x33A6F3093F158A7109F679410BEF1A0C54168145E0CECB4DF006C1C2FFFB1F09925A225D97AA00682D6A59B95B18780C10D7032336E88F3442B42361F4A66011", Utils.Bytes2HexString(Alice.PrivateKey)); Assert.AreEqual("5FHneW46xGXgs5mUiveU4sbTyGBzmstUspZC92UhjJM694ty", Bob.Value); var cts = new CancellationTokenSource(); await _substrateClient.ConnectAsync(cts.Token); // [Map] Key: T::AccountId, Hasher: BlakeTwo128Concat, Value: AccountInfo<T::Index, T::AccountData> var reqResult1 = await _substrateClient.GetStorageAsync("System", "Account", new[] { Utils.Bytes2HexString(Alice.Bytes) }, null, cts.Token); Assert.AreEqual("AccountInfo", reqResult1.GetType().Name); var aliceAccountInfo1 = reqResult1 as AccountInfo; var bobAccountInfo1 = (AccountInfo)await _substrateClient.GetStorageAsync("System", "Account", new[] { Utils.Bytes2HexString(Bob.Bytes) }, null, cts.Token); // Alice sends bob some coins ... var subscription = await _substrateClient.Author.SubmitAndWatchExtrinsicAsync(ActionExtrinsicUpdate, ExtrinsicCall.BalanceTransfer(Bob.Value, 100000000000), Alice, 0, 64, cts.Token); Thread.Sleep(extrinsic_wait); // [Map] Key: T::AccountId, Hasher: BlakeTwo128Concat, Value: AccountInfo<T::Index, T::AccountData> var reqResult2 = await _substrateClient.GetStorageAsync("System", "Account", new [] { Utils.Bytes2HexString(Alice.Bytes) }, null, cts.Token); Assert.AreEqual("AccountInfo", reqResult2.GetType().Name); var aliceAccountInfo2 = reqResult2 as AccountInfo; var bobAccountInfo2 = (AccountInfo)await _substrateClient.GetStorageAsync("System", "Account", new[] { Utils.Bytes2HexString(Bob.Bytes) }, null, cts.Token); Assert.IsTrue(aliceAccountInfo1.AccountData.Free.Value > aliceAccountInfo2.AccountData.Free.Value); Assert.IsTrue(bobAccountInfo1.AccountData.Free.Value < bobAccountInfo2.AccountData.Free.Value); var extrinsicHash = (Hash)await _substrateClient.Author.SubmitExtrinsicAsync(ExtrinsicCall.BalanceTransfer(Alice.Value, 90000000000), Bob, 0, 64, cts.Token); Thread.Sleep(extrinsic_wait); var subscription_state = await _substrateClient.Author.UnwatchExtrinsicAsync(subscription, cts.Token); await _substrateClient.CloseAsync(); }
public async Task BasicTestAsync() { await _substrateClient.ConnectAsync(); var reqResult = await _substrateClient.GetStorageAsync("Sudo", "Key"); Assert.AreEqual("AccountId", reqResult.GetType().Name); Assert.IsTrue(reqResult is AccountId); var accountId = (AccountId)reqResult; Assert.AreEqual("5DAriiitbj77Dz6RyfFCFJagg2W9zptpEqBgBKPKtLvzw23c", accountId.Value); await _substrateClient.CloseAsync(); }
private static async Task TestClaimShizzleAsync(string[] args) { var accountZurich = Account.Build( KeyType.Ed25519, Utils.HexToByteArray( "0xf5e5767cf153319517630f226876b86c8160cc583bc013744c6bf255f5cc0ee5278117fc144c72340f67d0f2316e8386ceffbf2b2428c9c51fef7c597f1d426e"), Utils.GetPublicKeyFrom("5CxW5DWQDpXi4cpACd62wzbPjbYrx4y67TZEmRXBcvmDTNaM")); var accountTest = new Account(); using var client = new SubstrateClient(new Uri(Websocketurl)); client.RegisterTypeConverter(new GenericTypeConverter <MogwaiStruct>()); client.RegisterTypeConverter(new GenericTypeConverter <MogwaiBios>()); client.RegisterTypeConverter(new GenericTypeConverter <GameEvent>()); client.RegisterTypeConverter(new GenericTypeConverter <EnumType <RarityType> >()); client.RegisterTypeConverter(new GenericTypeConverter <EnumType <ClaimState> >()); client.RegisterTypeConverter(new GenericTypeConverter <MogwaicoinAddress>()); await client.ConnectAsync(CancellationToken.None); var hexAddress = Utils.Bytes2HexString(Utils.GetPublicKeyFrom("5E77sDSL4sgAteLAMLjkEyQsHaoiqCMUJTk18XWefeVXC4Bb")); var hexAccount = Utils.Bytes2HexString(Encoding.ASCII.GetBytes("M9XfSaTHgGtwQnkrkG1EWRJpSdVsREU44u")); MogwaicoinAddress reqResult = (MogwaicoinAddress)await client.GetStorageAsync("DotMogBase", "AccountClaim", new [] { hexAddress, hexAccount }, null, CancellationToken.None); //Console.WriteLine(Encoding.Default.GetString(reqResult.Signature.Value.Select(p => p.Bytes[0]).ToArray())); //string mogwaicoinAddress = Encoding.Default.GetString(reqResult.Address.Value.Select(p => p.Bytes[0]).ToArray()); //Console.WriteLine(mogwaicoinAddress); //Console.WriteLine($"RESPONSE: '{reqResult}' [{reqResult?.GetType().Name}]"); var balance = new RawBalance(); //balance.Create("0x03000000000000000000000000000000"); balance.Create(1000000000000000); var update_claim = DotMogCall.UpdateClaim("M9XfSaTHgGtwQnkrkG1EWRJpSdVsREU44u", "5E77sDSL4sgAteLAMLjkEyQsHaoiqCMUJTk18XWefeVXC4Bb", ClaimState.Registred, balance); //var update_claim = DotMogCall.UpdateClaim(reqResult.Address, account, claimState, balance); //UnCheckedExtrinsic extrResult = await client.GetExtrinsicParametersAsync(update_claim, accountTest, 0, 64, true, CancellationToken.None); var extrResult = await client.Author.SubmitExtrinsicAsync(update_claim, accountTest, 0, 64, CancellationToken.None); Console.WriteLine(Utils.Bytes2HexString(extrResult.Encode())); }
public async Task BasicTestAsync() { await _substrateClient.ConnectAsync(); var reqResult = await _substrateClient.GetStorageAsync("Sudo", "Key"); Assert.AreEqual("AccountId", reqResult.GetType().Name); Assert.IsTrue(reqResult is AccountId); var accountId = (AccountId)reqResult; Assert.AreEqual("5GYZnHJ4dCtTDoQj4H5H9E727Ykv8NLWKtPAupEc3uJ89BGr", accountId.Address); await _substrateClient.CloseAsync(); }