diff --git a/applications/application_chain.go b/applications/application_chain.go index 305ef04..abf944f 100644 --- a/applications/application_chain.go +++ b/applications/application_chain.go @@ -40,13 +40,17 @@ func (appchain *ApplicationChain) NewInstance() tapir.Application { func (appchain *ApplicationChain) Init(connection tapir.Connection) { appchain.TranscriptApp.Init(connection) for i, app := range appchain.apps { + // propagate the transcript to the app app.PropagateTranscript(appchain.transcript) + // apply the app to the connection + connection.SetApp(app) + // initialize the application given the connection app.Init(connection) + // if we hit our guard then carry on, otherwise close... if !connection.HasCapability(appchain.capabilities[i]) { connection.Close() return } - connection.SetApp(app) } }