Exemple #1
0
        /// <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);
            }
        }
Exemple #2
0
        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);
        }