Exemplo n.º 1
0
        public async Task PostRedelegationCompletes()
        {
            using var client = CreateClient(Configuration.LocalBaseUrl);

            var baseRequest = await client.CreateBaseReq(Configuration.LocalDelegator1Address, null, null, null, null, null);

            var redelegationRequest = new RedelegateRequest(baseRequest, Configuration.LocalDelegator1Address, Configuration.LocalValidator1Address, Configuration.LocalValidator2Address, new Coin("stake", 10));

            var tx = await client
                     .Staking
                     .PostRedelegationAsync(redelegationRequest);

            OutputHelper.WriteLine("Deserialized tx:");
            Dump(tx);

            var msgRedelegate = tx
                                .Msg
                                .OfType <MsgBeginRedelegate>()
                                .First();

            Assert.Equal("stake", msgRedelegate.Amount.Denom);
            Assert.Equal(10, msgRedelegate.Amount.Amount);
            Assert.Equal(Configuration.LocalDelegator1Address, msgRedelegate.DelegatorAddress);
            Assert.Equal(Configuration.LocalValidator1Address, msgRedelegate.ValidatorSrcAddress);
            Assert.Equal(Configuration.LocalValidator2Address, msgRedelegate.ValidatorDstAddress);
        }
Exemplo n.º 2
0
        public Task <StdTx> PostRedelegationAsync(RedelegateRequest request, CancellationToken cancellationToken = default)
        {
            var baseReq = new BaseReqWithSimulate(request.BaseReq, false);

            request = new RedelegateRequest(baseReq, request.DelegatorAddress, request.ValidatorSrcAddress, request.ValidatorDstAddress, request.Amount);

            return(_clientGetter()
                   .Request("staking", "delegators", request.DelegatorAddress, "redelegations")
                   .PostJsonAsync(request, cancellationToken)
                   .ReceiveJson <StdTx>()
                   .WrapExceptions());
        }
Exemplo n.º 3
0
        public async Task AsyncPostRedelegationSimulationCompletes()
        {
            using var client = CreateClient(Configuration.LocalBaseUrl);

            var baseRequest = await client.CreateBaseReq(Configuration.LocalDelegator1Address, null, null, null, null, null);

            var redelegationRequest = new RedelegateRequest(baseRequest, Configuration.LocalDelegator1Address, Configuration.LocalValidator1Address, Configuration.LocalValidator2Address, new Coin("stake", 10));

            var gasEstimation = await client
                                .Staking
                                .PostRedelegationSimulationAsync(redelegationRequest);

            OutputHelper.WriteLine("Deserialized gas estimation:");
            Dump(gasEstimation);

            Assert.True(gasEstimation.GasEstimate > 0);
        }
Exemplo n.º 4
0
 public StdTx PostRedelegation(RedelegateRequest request)
 {
     return(PostRedelegationAsync(request)
            .Sync());
 }
Exemplo n.º 5
0
 public GasEstimateResponse PostRedelegationSimulation(RedelegateRequest request)
 {
     return(PostRedelegationSimulationAsync(request)
            .Sync());
 }