I am building a flow using Corda IRS.. The flow is M15 compatible but its working on M14 compatible.
The source code i found is like this:
override fun call(): TransactionSignature {
val resp = sendAndReceive<TransactionSignature>(oracle, SignRequest(partialMerkleTx))
return resp.unwrap { sig ->
check(oracle.owningKey.isFulfilledBy(listOf(sig.by)))
tx.toWireTransaction().checkSignature(sig)
sig
}
}
and the code i am using is:
override fun call(): TransactionSignature {
val resp = sendAndReceive<TransactionSignature>(agency, SignRequest(partialMerkleTx))
return resp.unwrap { sig ->
check(agency.owningKey.isFulfilledBy( listOf(sig.by)))
tx.toWireTransaction().checkSignature(sig)
sig
}
}
Expected: The IRS checkSignature should point to WireTransaction.checkSignature() that uses DigitalKey.WithKey
Problem: The IRS checkSignature is pointing to WireTransaction.kt implementation that uses TransactionSignature
How can i solve this?