Corda WireTransaction 类型不匹配 - TransactionSignature 推断但 DigitalSignature.WithKey 预期

Corda WireTransaction type mismatch - TransactionSignature inferred but DigitalSignature.WithKey expected

我正在为 Corda IRS RatesFixFlow 构建一个流程模型(我猜 M15 兼容。)但我的应用程序不支持 M14 构建。

这是源代码:

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
    }
}

我的代码:

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
    }
}

美国国税局 checkSignature 指向 WireTransaction.kt 实施,该实施使用 TransactionSignature 作为 return 而不是(我假设)弃用的 M14 WireTransaction.checkSignature()使用 DigitalKey.WithKey

是否有任何快速解决方法或技巧来协调类型更新?

如果你在 M14,checkSignature 应该 DigitalSignature.WithKey

如果您使用的是 IntelliJ,请尝试清除本地 Maven 存储库并清除缓存:https://www.jetbrains.com/help/idea/cleaning-system-cache.html