Example #1
0
        public KeyId GetDestination()
        {
            var template        = FindTemplate();
            var payToPubKeyHash = template as PayToPubkeyHashTemplate;

            if (payToPubKeyHash != null)
            {
                return(payToPubKeyHash.ExtractScriptPubKeyParameters(this));
            }
            var payToPubKey = template as PayToPubkeyTemplate;

            if (payToPubKey != null)
            {
                var result = new PayToPubkeyHashTemplate().ExtractScriptPubKeyParameters(this);
                if (result == null)
                {
                    var pub = new PayToPubkeyTemplate().ExtractScriptPubKeyParameters(this);
                    if (pub != null)
                    {
                        return(pub.ID);
                    }
                }
            }
            return(null);
        }
Example #2
0
        /// <summary>
        /// Extract public keys if this script is a multi sig or pay to pub key scriptPubKey
        /// </summary>
        /// <param name="network"></param>
        /// <returns></returns>
        public PubKey[] GetDestinationPublicKeys()
        {
            List <PubKey> result = new List <PubKey>();
            var           single = new PayToPubkeyTemplate().ExtractScriptPubKeyParameters(this);

            if (single != null)
            {
                result.Add(single);
            }
            else
            {
                var multiSig = new PayToMultiSigTemplate().ExtractScriptPubKeyParameters(this);
                if (multiSig != null)
                {
                    foreach (var key in multiSig.PubKeys)
                    {
                        result.Add(key);
                    }
                }
            }
            return(result.ToArray());
        }
Example #3
0
 private PubKey GetPubKey()
 {
     var payToPubKeyTemplate = new PayToPubkeyTemplate();
     return payToPubKeyTemplate.ExtractScriptPubKeyParameters(new Script(_Script));
 }
Example #4
0
        private PubKey GetPubKey()
        {
            var payToPubKeyTemplate = new PayToPubkeyTemplate();

            return(payToPubKeyTemplate.ExtractScriptPubKeyParameters(new Script(_Script)));
        }
Example #5
0
        public BitcoinScriptAddress GetScriptAddress(Network network)
        {
            var redeem = new PayToPubkeyTemplate().GenerateScriptPubKey(this);

            return(new BitcoinScriptAddress(redeem.ID, network));
        }
Example #6
0
 public KeyId GetDestination()
 {
     var template = FindTemplate();
     var payToPubKeyHash = template as PayToPubkeyHashTemplate;
     if(payToPubKeyHash != null)
     {
         return payToPubKeyHash.ExtractScriptPubKeyParameters(this);
     }
     var payToPubKey = template as PayToPubkeyTemplate;
     if(payToPubKey != null)
     {
         var result = new PayToPubkeyHashTemplate().ExtractScriptPubKeyParameters(this);
         if(result == null)
         {
             var pub = new PayToPubkeyTemplate().ExtractScriptPubKeyParameters(this);
             if(pub != null)
                 return pub.ID;
         }
     }
     return null;
 }