/// <inheritdoc /> public async Task <IEnumerable <HistoricalTransaction> > GetHistoryOfOutgoingTransactionsAsync( string address, string afterHash, int take, Func <string, int> assetAccuracyProvider) { ValidateAddressIsNotEmpty(address); ValidateTakeRange(take); ValidateAssetAccuracyProviderIsNotNull(assetAccuracyProvider); var apiResponse = await _runner.RunWithRetriesAsync(() => _api.GetHistoryOfOutgoingTransactionsAsync(address, afterHash, take)); ValidateContractValueIsNotNull(apiResponse); return(apiResponse.Select(t => new HistoricalTransaction(t, assetAccuracyProvider(t.AssetId)))); }