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 static GenericExtrinsicCall UpdateClaim(Vec <U8> address, RawAccountId account, EnumType <ClaimState> state, RawBalance balance) { return(new GenericExtrinsicCall("DotMogBase", "update_claim", address, account, state, balance)); }
public static GenericExtrinsicCall UpdateClaim(string mogwaicoinAddress, string account, ClaimState claimState, RawBalance balanceAmount) { var address = new Vec <U8>(); address.Create( Encoding.ASCII.GetBytes(mogwaicoinAddress).ToList().Select(p => { var u = new U8(); u.Create(p); return(u); }).ToList() ); var accountId = new RawAccountId(); accountId.Create(Utils.GetPublicKeyFrom(account)); var state = new EnumType <ClaimState>(); state.Create(claimState); return(UpdateClaim(address, accountId, state, balanceAmount)); }