Beispiel #1
0
        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()));
        }
Beispiel #2
0
 public static GenericExtrinsicCall UpdateClaim(Vec <U8> address, RawAccountId account, EnumType <ClaimState> state, RawBalance balance)
 {
     return(new GenericExtrinsicCall("DotMogBase", "update_claim", address, account, state, balance));
 }
Beispiel #3
0
        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));
        }