Corda – Extending and Overriding Flows From External CorDapps

Recently, Corda 4 was released, bringing with it a ton of new features to make Corda more enjoyable to work with. To be honest, I am kind of assuming there are a lot of new features. I had a quick browse through the changelog, mainly to see my contributions being referenced, but I remember seeing a lot of lines of text. That has to be a good thing, right?

Anyway, one of these features is the ability to extend and override Flows. It doesn’t really sound very fancy when you realize that Corda is written in Kotlin and has inheritance completely baked into it (true for Java as well). But, there is more to it than that. Corda needs to map an Initiating Flow to the counterparty Flow that is responding to it.