Example #1
0
        public async Task PostBuyNameCompletes()
        {
            using var client = ConfigureBuilder(Configuration.LocalNameserviceBaseUrl)
                               .RegisterAccountType <Account>("cosmos-sdk/Account")
                               .RegisterMsgType <MsgBuyName>("nameservice/BuyName")
                               .CreateClient();
            var namespaceApi = client.CreateNameservice();
            var baseReq      = await client.CreateBaseReq(Configuration.LocalNameserviceOwner1, "memo", null, null, null, null);

            var name = Guid.NewGuid().ToString("N");
            var req  = new BuyNameReq(baseReq, name, "1nametoken", Configuration.LocalNameserviceOwner1);

            OutputHelper.WriteLine("Posting buy new name simulation:");
            OutputHelper.WriteLine(client.Serializer.SerializeJson(req));
            var stdTx = await namespaceApi.PostBuyNameAsync(req);

            OutputHelper.WriteLine("Deserialized StdTx:");
            Dump(stdTx);

            Assert.Equal("memo", stdTx.Memo);
            var msgBuyName = stdTx.Msg.OfType <MsgBuyName>().First();

            Assert.Equal(Configuration.LocalNameserviceOwner1, msgBuyName.Buyer);
            Assert.Equal(name, msgBuyName.Name);
            Assert.NotEmpty(msgBuyName.Bid);
            Assert.All(msgBuyName.Bid, c => Assert.True(c.Amount > 0));
        }
Example #2
0
        public async Task BroadcastBuyNameChangesNameOwner()
        {
            using var client = ConfigureBuilder(Configuration.LocalNameserviceBaseUrl)
                               .RegisterAccountType <Account>("cosmos-sdk/Account")
                               .RegisterMsgType <MsgBuyName>("nameservice/BuyName")
                               .CreateClient();
            var namespaceApi = client.CreateNameservice();
            var baseReq      = await client.CreateBaseReq(Configuration.LocalNameserviceOwner1, "memo", null, null, null, null);

            var name = Guid.NewGuid().ToString("N");
            var req  = new BuyNameReq(baseReq, name, "1nametoken", Configuration.LocalNameserviceOwner1);

            OutputHelper.WriteLine("Posting buy new name simulation:");
            OutputHelper.WriteLine(client.Serializer.SerializeJson(req));
            var stdTx = await namespaceApi.PostBuyNameAsync(req);

            var signers           = new [] { new SignerWithAddress(Configuration.LocalNameserviceOwner1, Configuration.LocalNameserviceOwner1PrivateKey, Configuration.LocalNameserviceOwner1Passphrase) };
            var broadcastResponse = await client.SignAndBroadcastStdTxAsync(stdTx, signers, BroadcastTxMode.Block);

            OutputHelper.WriteLine("Deserialized BreoadcastResponse:");
            Dump(broadcastResponse);

            var whoIs = await namespaceApi.GetWhoIs(name);

            OutputHelper.WriteLine("Deserialized WhoIs:");
            Dump(whoIs);

            Assert.Equal(Configuration.LocalNameserviceOwner1, whoIs.Result.Owner, StringComparer.Ordinal);
        }
Example #3
0
        public async Task <StdTx> PostBuyNameAsync(BuyNameReq request, CancellationToken cancellationToken = default)
        {
            var baseReq = new BaseReqWithSimulate(request.BaseReq, false);

            request = new BuyNameReq(baseReq, request.Name, request.Amount, request.Buyer);
            var content  = _cosmosApiClient.Serializer.SerializeJsonHttpContent(request);
            var response = (await _cosmosApiClient.HttpClient.PostAsync("nameservice/names", content, cancellationToken))
                           .EnsureSuccessStatusCode();

            return(await _cosmosApiClient.Serializer.DeserializeJson <StdTx>(response.Content));
        }
Example #4
0
        public async Task PostBuyNameSimulationCompletes()
        {
            using var client = ConfigureBuilder(Configuration.LocalNameserviceBaseUrl)
                               .RegisterAccountType <Account>("cosmos-sdk/Account")
                               .CreateClient();
            var namespaceApi = client.CreateNameservice();
            var baseReq      = await client.CreateBaseReq(Configuration.LocalNameserviceOwner1, "", null, null, null, null);

            var req = new BuyNameReq(baseReq, Guid.NewGuid().ToString("N"), "1nametoken", Configuration.LocalNameserviceOwner1);

            OutputHelper.WriteLine("Posting buy new name simulation:");
            OutputHelper.WriteLine(client.Serializer.SerializeJson(req));
            var estimation = await namespaceApi.PostBuyNameSimulationAsync(req);

            OutputHelper.WriteLine("Deserialized Gas Estimation:");
            Dump(estimation);

            Assert.True(estimation.GasEstimate > 0);
        }