public bool Sign(SignatureContext context) { bool fSuccess = false; foreach (UInt160 scriptHash in context.ScriptHashes) { Contract contract = GetContract(scriptHash); if (contract == null) { continue; } Account account = GetAccountByScriptHash(scriptHash); if (account == null) { continue; } byte[] signature = context.Signable.Sign(account); fSuccess |= context.AddSignature(contract, account.PublicKey, signature); } return(fSuccess); }
public bool Sign(SignatureContext context) { bool fSuccess = false; foreach (UInt160 scriptHash in context.ScriptHashes) { Contract contract = GetContract(scriptHash); if (contract == null) { continue; } KeyPair key = GetKeyByScriptHash(scriptHash); if (key == null) { continue; } byte[] signature = context.Verifiable.Sign(key); fSuccess |= context.AddSignature(contract, key.PublicKey, signature); } return(fSuccess); }