예제 #1
0
        protected override async Task <TokenStoreState> OnInitialize(Engine engine)
        {
            // Register and get info
            var register = new RegisterIdentityTask
            {
                IdentityID = AccountID,
                Name       = Name,
                Stereotype = Stereotype,
                PublicKey  = PublicKey.ToString(),
            };

            register = await engine.Connection.RegisterIdentity(register);

            var identityInfo = register.Info;

            // Initialize
            if (identityInfo != null && !identityInfo.IsUnknown)
            {
                Balance = identityInfo.Balance;

                // Managed Accounts
                var accounts = identityInfo.Accounts.Select(info =>
                {
                    var account = new Account(info.Name, info.AccountID)
                    {
                        Stereotype = info.Stereotype,
                        DelegateID = info.DelegateID,
                    };

                    account.Balance = info.Balance;
                    account.UpdateState(info.State);

                    return(account);
                });

                foreach (var account in accounts)
                {
                    engine.Cache(account);

                    AddAccount(account);
                }
            }

            FirePropertyChanged(nameof(TotalBalance));

            return(TokenStoreState.Online);
        }
예제 #2
0
        private NetworkEventMonitor ConnectIdentity(string identityID)
        {
            var monitor = Connect();

            var task = new RegisterIdentityTask
            {
                IdentityID = identityID,

                Client = new ClientInfo
                {
                    InstanceID = "InstanceID"
                }
            };

            simulation.RegisterIdentity(task);

            return(monitor);
        }
예제 #3
0
        public async Task <RegisterIdentityTask> RegisterIdentity(RegisterIdentityTask task)
        {
            await CallService();

            return(simulation.RegisterIdentity(PrepareTask(task)));
        }
예제 #4
0
 public Task <RegisterIdentityTask> RegisterIdentity(RegisterIdentityTask task)
 {
     throw new NotImplementedException();
 }