/// <inheritdoc />
        public async Task <IndyTaa> LookupTaaAsync(IAgentContext context, string data = null)
        {
            IndyTaa ParseTaa(string response)
            {
                var jresponse = JObject.Parse(response);

                if (jresponse["result"]["data"].HasValues)
                {
                    return(new IndyTaa
                    {
                        Text = jresponse["result"]["data"]["text"].ToString(),
                        Version = jresponse["result"]["data"]["version"].ToString()
                    });
                }
                return(null);
            };

            var req = await Ledger.BuildGetTxnAuthorAgreementRequestAsync(null, data);

            var res = await Ledger.SubmitRequestAsync(await context.Pool, req);

            EnsureSuccessResponse(res);

            return(ParseTaa(res));
        }