代码之家  ›  专栏  ›  技术社区  ›  mleafer

Corda WireTransation类型不匹配-TransactionSignature推断但DigitalSignature。需要WithKey

  •  0
  • mleafer  · 技术社区  · 7 年前

    我正在构建一个流模型来模拟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 TransactionSignature 作为回报,而不是(我假设)已弃用的M14 WireTransaction.checkSignature() 使用 DigitalKey.WithKey

    1 回复  |  直到 7 年前
        1
  •  1
  •   Joel    7 年前

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

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