/// <summary> /// Initializes a new instance of the <see cref="T:Osma.Mobile.App.Services.AgentContextProvider" /> class. /// </summary> /// <param name="walletService">Wallet service.</param> /// <param name="poolService">The pool service.</param> /// <param name="provisioningService">The provisioning service.</param> /// <param name="keyValueStoreService">Key value store.</param> public AgentContextProvider(IWalletService walletService, IPoolService poolService, IProvisioningService provisioningService, IKeyValueStoreService keyValueStoreService) { _poolService = poolService; _provisioningService = provisioningService; _walletService = walletService; _keyValueStoreService = keyValueStoreService; if (_keyValueStoreService.KeyExists(AgentOptionsKey)) { _options = _keyValueStoreService.GetData <Models.AgentOptions>(AgentOptionsKey); } }
public async Task <bool> CreateAgentAsync(Models.AgentOptions options) { #if __ANDROID__ WalletConfiguration.WalletStorageConfiguration _storage = new WalletConfiguration.WalletStorageConfiguration { Path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), ".indy_client") }; options.WalletOptions.WalletConfiguration.StorageConfiguration = _storage; #endif await _provisioningService.ProvisionAgentAsync(new Hyperledger.Aries.Configuration.AgentOptions { WalletConfiguration = options.WalletOptions.WalletConfiguration, WalletCredentials = options.WalletOptions.WalletCredentials, AgentKeySeed = options.Seed, EndpointUri = options.EndpointUri }); await _keyValueStoreService.SetDataAsync(AgentOptionsKey, options); _options = options; return(true); }