public override Script GenerateScriptSig(Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { var multiSigParams = PayToMultiSigTemplate.Instance.ExtractScriptPubKeyParameters(scriptPubKey); TransactionSignature[] signatures = new TransactionSignature[multiSigParams.PubKeys.Length]; var keys = multiSigParams .PubKeys .Select(p => keyRepo.FindKey(p.ScriptPubKey)) .ToArray(); int sigCount = 0; for(int i = 0 ; i < keys.Length ; i++) { if(sigCount == multiSigParams.SignatureCount) break; if(keys[i] != null) { var sig = signer.Sign(keys[i]); signatures[i] = sig; sigCount++; } } IEnumerable<TransactionSignature> sigs = signatures; if(sigCount == multiSigParams.SignatureCount) { sigs = sigs.Where(s => s != TransactionSignature.Empty && s != null); } return PayToMultiSigTemplate.Instance.GenerateScriptSig(sigs); }
public ResourceController(IResourceRepository resourceRepository, ISystemSettingsRepository settingsRepository, IGroupRepository groupRepository, IKeyRepository keyRepository) { _resourceRepository = resourceRepository; _settingsRepository = settingsRepository; _groupRepository = groupRepository; _keyRepository = keyRepository; }
public SettingsSubscriptionsController(ISystemSettingsRepository settingsRepository, ISecurityHelper securityHelper, IVolatileStorageController volatileStorageController, IKeyRepository keyRepository) { _settingsRepository = settingsRepository; _securityHelper = securityHelper; _volatileStorageController = volatileStorageController; _keyRepository = keyRepository; }
public LocalKeyManager(int? currentHeadQuarterId, IKeyRepository keyRepository, IMiscRepository miscRepository, IReturnKeyRepository returnKeyRepository, KeyTypeConfigurationRepository keyTypeRepository, ISubsidiaryRepository subsRepository) { CurrentHeadQuarterId = currentHeadQuarterId; if (currentHeadQuarterId == null) CurrentHeadQuarter = null; else { HeadQuarterRepository hqRepository = new HeadQuarterRepository(); CurrentHeadQuarter = hqRepository.GetHeadQuarter(currentHeadQuarterId.Value); } if (keyRepository == null) this.keyRepository = new KeyRepository(); else this.keyRepository = keyRepository; if (miscRepository == null) this.miscRepository = new MiscRepository(); else this.miscRepository = miscRepository; if (returnKeyRepository == null) this.returnKeyRepository = new ReturnKeyRepository(); else this.returnKeyRepository = returnKeyRepository; if (keyTypeRepository == null) this.keyTypeRepository = new KeyTypeConfigurationRepository(); else this.keyTypeRepository = keyTypeRepository; if (subsRepository == null) this.subsRepository = new SubsidiaryRepository(); else this.subsRepository = subsRepository; }
public ManageLocalKeysViewModel(string vaultName, IKeyRepository keyRepository) { this.vaultName = vaultName; this.keyRepository = keyRepository; this.AddKeyCommand = new RelayCommand(this.OnAddKey); this.DeleteKeyCommand = new RelayCommand(this.OnDeleteKey, this.CanDeleteKey); }
public override Script GenerateScriptSig(Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { var key = keyRepo.FindKey(scriptPubKey); if(key == null) return null; var sig = signer.Sign(key); return PayToPubkeyTemplate.Instance.GenerateScriptSig(sig); }
public override Script GenerateScriptSig(Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { var parameters = PayToPubkeyHashTemplate.Instance.ExtractScriptPubKeyParameters(scriptPubKey); var key = keyRepo.FindKey(parameters.ScriptPubKey); if(key == null) return null; var sig = signer.Sign(key); return PayToPubkeyHashTemplate.Instance.GenerateScriptSig(sig, key.PubKey); }
public void SetUp() { keyRepo = new TestKeyRepository(); service = new SignatureService(keyRepo); // Create a bundle var signatureHeader = new IssuerSignatureHeader(header); var ticketBundle = new TicketBundle(payload); issuerSignedTicketBundle = new IssuerSignedTicketBundle(ticketBundle); issuerSignedTicketBundle.Header = signatureHeader; issuerSignedTicketBundle.Signature = signature; }
public KeyVaultAccountViewModel(KeyVaultConfiguration keyVaultConfiguration, IKeyRepository keyRepository) { if (keyVaultConfiguration == null) { throw new ArgumentNullException("keyVaultConfiguration"); } this.keyVaultConfiguration = keyVaultConfiguration; this.keyRepository = keyRepository; this.ManageVaultKeysViewModel = new ManageVaultKeysViewModel(keyVaultConfiguration.VaultName, keyRepository, new KeyVaultKeyRepository(keyVaultConfiguration)); this.ManageLocalKeysViewModel = new ManageLocalKeysViewModel(keyVaultConfiguration.VaultName, keyRepository); this.ManageLocalKeysViewModel.KeysModified += this.HandleKeysModified; this.ManageVaultKeysViewModel.KeysModified += this.HandleKeysModified; this.KeyCryptographicOperationsViewModel = new KeyCryptographicOperationsViewModel(new KeyOperations(keyVaultConfiguration)); }
public abstract Script GenerateScriptSig(Script scriptPubKey, IKeyRepository keyRepo, ISigner signer);
public override Script GenerateScriptSig(Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { return(Script.Empty); }
public override Script GenerateScriptSig(Network network, Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { PayToMultiSigTemplateParameters multiSigParams = PayToMultiSigTemplate.Instance.ExtractScriptPubKeyParameters(scriptPubKey); var signatures = new TransactionSignature[multiSigParams.PubKeys.Length]; Key[] keys = multiSigParams .PubKeys .Select(p => keyRepo.FindKey(p.ScriptPubKey)) .ToArray(); int sigCount = 0; for (int i = 0; i < keys.Length; i++) { if (sigCount == multiSigParams.SignatureCount) { break; } if (keys[i] != null) { TransactionSignature sig = signer.Sign(keys[i]); signatures[i] = sig; sigCount++; } } IEnumerable <TransactionSignature> sigs = signatures; if (sigCount == multiSigParams.SignatureCount) { sigs = sigs.Where(s => s != TransactionSignature.Empty && s != null); } return(PayToMultiSigTemplate.Instance.GenerateScriptSig(sigs)); }
public KeyService(IKeyRepository keyRepository, IUuidService uuid, IMetrics metrics) { _keyRepository = keyRepository; _uuid = uuid; _metrics = metrics; }
public override Script GenerateScriptSig(Network network, Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { Key key = keyRepo.FindKey(scriptPubKey); if (key == null) { return(null); } TransactionSignature sig = signer.Sign(key); return(PayToPubkeyTemplate.Instance.GenerateScriptSig(sig)); }
public override Script GenerateScriptSig(Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { return Script.Empty; }
public override Script GenerateScriptSig(Network network, Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { KeyId parameters = PayToPubkeyHashTemplate.Instance.ExtractScriptPubKeyParameters(scriptPubKey); Key key = keyRepo.FindKey(parameters.ScriptPubKey); if (key == null) { return(null); } TransactionSignature sig = signer.Sign(key); return(PayToPubkeyHashTemplate.Instance.GenerateScriptSig(sig, key.PubKey)); }
public KeyGenerationService(IKeyRepository keyRepository) { KeyRepository = keyRepository; }
public MtbHandler(IKeyRepository keyRepository) { _keyRepository = keyRepository; _service = new SignatureService(_keyRepository); }
public abstract void Sign(InputSigningContext inputSigningContext, IKeyRepository keyRepository, ISigner signer);
public UnitOfWork(IKeyRepository repository) { Keys = repository; }
public ManageVaultKeysViewModel(string vaultName, IKeyRepository keyRepository, IKeyRepository keyVaultRepository) { this.vaultName = vaultName; this.keyRepository = keyRepository; this.keyVaultRepository = keyVaultRepository; this.GetAllCommand = new RelayCommand(this.OnGetAllCommand); this.DeleteKeyCommand = new RelayCommand(this.OnDeleteCommand, this.CanExecuteDeleteCommand); this.CreateKeyCommand = new RelayCommand(this.OnCreateCommand); }
public GamePolicy(ICityQuestSession session, IPermissionChecker permissionChecker, IUserRepository userRepository, IKeyRepository keyRepository) : base(session, permissionChecker) { UserRepository = userRepository; KeyRepository = keyRepository; }
public SignatureService(IKeyRepository keyRepository) { _keyRepository = keyRepository; }
/// <inheritdoc /> public override Script GenerateScriptSig(Network network, Script scriptPubKey, IKeyRepository keyRepo, ISigner signer) { ColdStakingScriptTemplate.Instance.ExtractScriptPubKeyParameters(scriptPubKey, out KeyId hotKey, out KeyId coldKey); // The scriptPubKey will be different depending on whether we are spending or cold staking. Key key = keyRepo.FindKey((this.usesColdPubKey ? coldKey : hotKey).ScriptPubKey); if (key == null) { return(null); } TransactionSignature sig = signer.Sign(key); return(ColdStakingScriptTemplate.Instance.GenerateScriptSig(sig, this.usesColdPubKey, key.PubKey)); }