/// <summary>
        /// Calls the getKitty contract method and parses the result.
        /// </summary>
        /// <param name="instance">The <see cref="IEtherscanApiClient"/> being extended.</param>
        /// <param name="kittyId">The kitty id to load.</param>
        /// <returns>A <see cref="CryptoKitties.Net.Blockchain.Models.Contracts.KittyResponseModel"/></returns>
        public static async Task <Models.Contracts.KittyResponseModel> GetKitty(this IEtherscanApiClient instance, long kittyId)
        {
            var response = await Call(instance, Globals.Contracts.KittyCore.ContractAddress, Globals.Contracts.KittyCore.Functions.GetKitty, b => b.AddParameter(kittyId));

            response.AssertCallSuccess();
            return(Parse(response.Result));
        }
Example #2
0
 public LogRecordQuery(IEtherscanApiClient client, LogQueryRequestMessage query)
 {
     Client = client;
     // Copy query
     OriginalQuery = new LogQueryRequestMessage(query);
     Reset();
 }
Example #3
0
 public UserService(
     IRestUserService restUserService,
     IEtherscanApiClient etherscanApi
     )
 {
     Guard.NotNull(restUserService, nameof(restUserService));
     _restService  = restUserService;
     _etherscanApi = etherscanApi;
 }
        /// <summary>
        /// Calls a contract method and returns the response.
        /// </summary>
        /// <param name="instance">The <see cref="IEtherscanApiClient"/> being extended.</param>
        /// <param name="to"></param>
        /// <param name="fn"></param>
        /// <param name="buildCall"></param>
        /// <param name="tag"></param>
        /// <returns></returns>
        public static async Task <EtherscanResponseMessage <string> > Call(this IEtherscanApiClient instance, string to, string fn,
                                                                           Action <ContractCallDataBuilder> buildCall, string tag = default(string))
        {
            var builder = new ContractCallDataBuilder(fn);

            buildCall(builder);
            var message = new CallRequestMessage
            {
                To   = to,
                Data = builder.EncodeData(),
                Tag  = tag ?? "latest"
            };

            return(await instance.Call(message));
        }
Example #5
0
 public LogRecordQueryFactory(IEtherscanApiClient client)
 {
     Guard.NotNull(client, nameof(client));
     Client = client;
 }
 public KittyContractDataService(StatefulServiceContext context, IEtherscanApiClient etherscanApi)
     : base(context)
 {
     EtherscanApi = etherscanApi;
 }
Example #7
0
 /// <summary>
 /// Initializes a new instance of KittyService
 /// </summary>
 /// <param name="actorService">The Microsoft.ServiceFabric.Actors.Runtime.ActorService that will host this actor instance.</param>
 /// <param name="actorId">The Microsoft.ServiceFabric.Actors.ActorId for this actor instance.</param>
 public KittyService(ActorService actorService, ActorId actorId, IEtherscanApiClient etherscanApi)
     : base(actorService, actorId)
 {
     EtherscanApi = etherscanApi;
 }