Требовать подписи определенной стороны в транзакции Corda - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть конкретный узел / сторона (скажем, банк) в сети, которая должна подписать какой-либо тип транзакции. Как мне это отразить?(Например, partyA хочет создать учетную запись, и мне нужно, чтобы банк проверял ее каждый раз)

Сейчас я пытаюсь найти способ сделать это в договоре

private fun verifyCreate(tx: LedgerTransaction) = requireThat {
      "There should be an actual output to the creation" using (tx.outputsOfType<StockAccountState>().size == 1)

      val outStockAccountState =tx.outRefsOfType<StockAccountState>().single();
       "There should be No inputs when creating an account" using (tx.inputs.isEmpty())
       val neededParty = Party(???) // How do I get either the certificate or the name and publickey ?? 
        val expectedSigners = listOf(outStockAccountState.state.data.custodian, neededParty)

}

В основном мне нужно создать банк-участника для проверки фактических подписантов, но я не знаю, как это сделать.

Возможно, есть другой способ сделать это, но я не знаю, какой

1 Ответ

0 голосов
/ 12 февраля 2019

Вы должны убедиться, что в вашем StockAccountState есть поле с именем val bank :Party, поэтому ваш контракт подтверждает, что подписавшиеся состоят из outStockAccountState.bank.

...