Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 4 additions & 5 deletions packages/api/src/metrics/OpenTelemetryServer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,17 +32,14 @@ export type OpenTelemetryServerConfig = {
};

@sequencerModule()
export class OpenTelemetryServer
extends SequencerModule<OpenTelemetryServerConfig>
implements DependencyFactory
{
export class OpenTelemetryServer extends SequencerModule<OpenTelemetryServerConfig> {
public constructor(
@inject("Sequencer") private readonly sequencer: Sequencer<any>
) {
super();
}

public dependencies() {
public static dependencies() {
return {
Tracer: {
useClass: OpenTelemetryTracer,
Expand Down Expand Up @@ -99,3 +96,5 @@ export class OpenTelemetryServer
log.info("OpenTelemetryServer started");
}
}

OpenTelemetryServer satisfies DependencyFactory;
6 changes: 5 additions & 1 deletion packages/api/src/metrics/OpenTelemetryTracer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ export class OpenTelemetryTracer implements Tracer {
// We need to import this here, so that the OpenTelemetryServer will be resolved
// before this module, and therefore will be already started when this module is
// eventually consumed and used
@inject("OpenTelemetryServer") openTelemetryServer: OpenTelemetryServer
@inject("OpenTelemetryServer")
private readonly openTelemetryServer: OpenTelemetryServer
) {
noop();
}
Expand All @@ -24,6 +25,9 @@ export class OpenTelemetryTracer implements Tracer {
f: () => Promise<T>,
metadata?: Record<string, string | number>
) {
if (this.openTelemetryServer.config.tracing?.enabled !== true) {
return await f();
}
if (this.tracer === undefined) {
this.tracer = opentelemetry.trace.getTracer("protokit", "canary");
}
Expand Down
2 changes: 2 additions & 0 deletions packages/library/src/runtime/Withdrawals.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import {
outgoingMessage,
OutgoingMessages,
runtimeModule,
RuntimeModule,
Expand Down Expand Up @@ -28,6 +29,7 @@ export class Withdrawal extends Struct({

@runtimeModule()
export class Withdrawals extends RuntimeModule {
@outgoingMessage()
messages = new OutgoingMessages({
withdrawal: Withdrawal,
});
Expand Down
4 changes: 3 additions & 1 deletion packages/module/src/factories/MethodIdFactory.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DependencyRecord } from "@proto-kit/common";
import { DependencyFactory, DependencyRecord } from "@proto-kit/common";

import { MethodIdResolver } from "../runtime/MethodIdResolver";

Expand All @@ -11,3 +11,5 @@ export class MethodIdFactory {
} satisfies DependencyRecord;
}
}

MethodIdFactory satisfies DependencyFactory;
8 changes: 7 additions & 1 deletion packages/sequencer/src/appChain/AreProofsEnabledFactory.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
import { injectable } from "tsyringe";
import { AreProofsEnabled, DependencyRecord } from "@proto-kit/common";
import {
AreProofsEnabled,
DependencyFactory,
DependencyRecord,
} from "@proto-kit/common";

@injectable()
export class InMemoryAreProofsEnabled implements AreProofsEnabled {
Expand All @@ -23,3 +27,5 @@ export class AreProofsEnabledFactory {
} satisfies DependencyRecord;
}
}

AreProofsEnabledFactory satisfies DependencyFactory;
8 changes: 7 additions & 1 deletion packages/sequencer/src/appChain/SharedDependencyFactory.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
import { DependencyDeclaration, DependencyRecord } from "@proto-kit/common";
import {
DependencyDeclaration,
DependencyFactory,
DependencyRecord,
} from "@proto-kit/common";
import { StateServiceProvider } from "@proto-kit/protocol";
import { MethodIdResolver } from "@proto-kit/module";

Expand All @@ -19,3 +23,5 @@ export class SharedDependencyFactory {
};
}
}

SharedDependencyFactory satisfies DependencyFactory;
4 changes: 3 additions & 1 deletion packages/sequencer/src/logging/ConsoleTracingFactory.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DependencyRecord } from "@proto-kit/common";
import { DependencyFactory, DependencyRecord } from "@proto-kit/common";

import { ConsoleTracer } from "./ConsoleTracer";

Expand All @@ -11,3 +11,5 @@ export class ConsoleTracingFactory {
} satisfies DependencyRecord;
}
}

ConsoleTracingFactory satisfies DependencyFactory;
2 changes: 2 additions & 0 deletions packages/sequencer/src/protocol/baselayer/MinaBaseLayer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -143,3 +143,5 @@ export class MinaBaseLayer
this.network = Network;
}
}

MinaBaseLayer satisfies DependencyFactory;
11 changes: 11 additions & 0 deletions packages/sequencer/src/sequencer/SequencerStartupModule.ts
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,15 @@ export class SequencerStartupModule

log.info("Compiling Protocol circuits, this can take a few minutes");

const timeout = setTimeout(
() => {
log.error(
"No response yet received from workers - have you configured a TaskQueue and a corresponding worker running (either in-process or somewhere else)"
);
},
this.areProofsEnabled.areProofsEnabled ? 20 * 60 * 1000 : 30 * 1000
);

const root = await this.compileRuntime(flow);

const protocolBridgeArtifacts = await this.compileProtocolAndBridge(
Expand All @@ -176,6 +185,8 @@ export class SequencerStartupModule
});

log.info("Protocol circuits compiled successfully, commencing startup");

clearTimeout(timeout);
}

public async close() {
Expand Down
2 changes: 2 additions & 0 deletions packages/sequencer/src/worker/worker/FlowTaskWorker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,8 @@ export class FlowTaskWorker<Tasks extends Task<any, any>[]>
...newWorkers,
};

log.info("All tasks prepared and ready");

this.prepareResolve!();
}

Expand Down