コード例 #1
0
ファイル: UserWallet.cs プロジェクト: apvglobal/APV
        public override WalletKeyPair CreateKey(byte[] privateKey)
        {
            WalletKeyPair account = base.CreateKey(privateKey);

            OnCreateAccount(account);
            AddContract(VerificationContract.CreateSignatureContract(account.PublicKey));
            return(account);
        }
コード例 #2
0
        private void RestoreAccountsDialog_Load(object sender, EventArgs e)
        {
            IEnumerable <KeyPair> keys = Program.CurrentWallet.GetKeys();

            keys = keys.Where(account => Program.CurrentWallet.GetContracts(account.PublicKeyHash).All(contract => !contract.IsStandard));
            IEnumerable <VerificationContract> contracts = keys.Select(p => VerificationContract.CreateSignatureContract(p.PublicKey));

            listView1.Items.AddRange(contracts.Select(p => new ListViewItem(p.Address)
            {
                Tag = p
            }).ToArray());
        }
コード例 #3
0
 UInt160[] IVerifiable.GetScriptHashesForVerifying()
 {
     if (Blockchain.Default == null)
     {
         throw new InvalidOperationException();
     }
     if (PrevHash != Blockchain.Default.CurrentBlockHash)
     {
         throw new InvalidOperationException();
     }
     ECPoint[] validators = Blockchain.Default.GetValidators();
     if (validators.Length <= ValidatorIndex)
     {
         throw new InvalidOperationException();
     }
     return(new[] { VerificationContract.CreateSignatureContract(validators[ValidatorIndex]).ScriptHash });
 }
コード例 #4
0
ファイル: UserWallet.cs プロジェクト: AlexRos101/QURAS_CORE
        public override WalletKeyPair CreateKey(byte[] privateKey, KeyType nVersion = KeyType.Transparent)
        {
            if (nVersion == KeyType.Transparent)
            {
                WalletKeyPair account = base.CreateKey(privateKey, nVersion);
                OnCreateAccount(account);
                AddContract(VerificationContract.CreateSignatureContract(account.PublicKey));
                return(account);
            }
            else if (nVersion == KeyType.Anonymous)
            {
                WalletKeyPair account = base.CreateKey(privateKey, nVersion);
                SpendingKey   sKey;

                sKey = new SpendingKey(new UInt256(privateKey));
                OnCreateAccount(account);
                AddContract(VerificationContract.CreateSignatureAnonymousContract(account.PublicKey, sKey.address()));
                return(account);
            }
            else
            {
                return(null);
            }
        }
コード例 #5
0
        public RestoreAccountsViewModel(
            IMessagePublisher messagePublisher)
        {
            this.messagePublisher = messagePublisher;

            var keys = ApplicationContext.Instance.CurrentWallet.GetKeys();

            keys = keys.Where(account => ApplicationContext.Instance.CurrentWallet.GetContracts(account.PublicKeyHash).All(contract => !contract.IsStandard));

            this.Accounts = new ObservableCollection <SelectableVerificationContract>(keys.Select(p => VerificationContract.CreateSignatureContract(p.PublicKey)).Select(p => new SelectableVerificationContract(this, p)));
        }