Skip to content

Commit 66550e6

Browse files
authored
Merge pull request #315 from proto-kit/rpanic/some-refactorings
Some refactoring / qol improvements
2 parents ec6f559 + 258e8a5 commit 66550e6

File tree

10 files changed

+46
-10
lines changed

10 files changed

+46
-10
lines changed

packages/api/src/metrics/OpenTelemetryServer.ts

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,17 +32,14 @@ export type OpenTelemetryServerConfig = {
3232
};
3333

3434
@sequencerModule()
35-
export class OpenTelemetryServer
36-
extends SequencerModule<OpenTelemetryServerConfig>
37-
implements DependencyFactory
38-
{
35+
export class OpenTelemetryServer extends SequencerModule<OpenTelemetryServerConfig> {
3936
public constructor(
4037
@inject("Sequencer") private readonly sequencer: Sequencer<any>
4138
) {
4239
super();
4340
}
4441

45-
public dependencies() {
42+
public static dependencies() {
4643
return {
4744
Tracer: {
4845
useClass: OpenTelemetryTracer,
@@ -99,3 +96,5 @@ export class OpenTelemetryServer
9996
log.info("OpenTelemetryServer started");
10097
}
10198
}
99+
100+
OpenTelemetryServer satisfies DependencyFactory;

packages/api/src/metrics/OpenTelemetryTracer.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ export class OpenTelemetryTracer implements Tracer {
1111
// We need to import this here, so that the OpenTelemetryServer will be resolved
1212
// before this module, and therefore will be already started when this module is
1313
// eventually consumed and used
14-
@inject("OpenTelemetryServer") openTelemetryServer: OpenTelemetryServer
14+
@inject("OpenTelemetryServer")
15+
private readonly openTelemetryServer: OpenTelemetryServer
1516
) {
1617
noop();
1718
}
@@ -24,6 +25,9 @@ export class OpenTelemetryTracer implements Tracer {
2425
f: () => Promise<T>,
2526
metadata?: Record<string, string | number>
2627
) {
28+
if (this.openTelemetryServer.config.tracing?.enabled !== true) {
29+
return await f();
30+
}
2731
if (this.tracer === undefined) {
2832
this.tracer = opentelemetry.trace.getTracer("protokit", "canary");
2933
}

packages/library/src/runtime/Withdrawals.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import {
2+
outgoingMessage,
23
OutgoingMessages,
34
runtimeModule,
45
RuntimeModule,
@@ -28,6 +29,7 @@ export class Withdrawal extends Struct({
2829

2930
@runtimeModule()
3031
export class Withdrawals extends RuntimeModule {
32+
@outgoingMessage()
3133
messages = new OutgoingMessages({
3234
withdrawal: Withdrawal,
3335
});

packages/module/src/factories/MethodIdFactory.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DependencyRecord } from "@proto-kit/common";
1+
import { DependencyFactory, DependencyRecord } from "@proto-kit/common";
22

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

@@ -11,3 +11,5 @@ export class MethodIdFactory {
1111
} satisfies DependencyRecord;
1212
}
1313
}
14+
15+
MethodIdFactory satisfies DependencyFactory;

packages/sequencer/src/appChain/AreProofsEnabledFactory.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
import { injectable } from "tsyringe";
2-
import { AreProofsEnabled, DependencyRecord } from "@proto-kit/common";
2+
import {
3+
AreProofsEnabled,
4+
DependencyFactory,
5+
DependencyRecord,
6+
} from "@proto-kit/common";
37

48
@injectable()
59
export class InMemoryAreProofsEnabled implements AreProofsEnabled {
@@ -23,3 +27,5 @@ export class AreProofsEnabledFactory {
2327
} satisfies DependencyRecord;
2428
}
2529
}
30+
31+
AreProofsEnabledFactory satisfies DependencyFactory;

packages/sequencer/src/appChain/SharedDependencyFactory.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
import { DependencyDeclaration, DependencyRecord } from "@proto-kit/common";
1+
import {
2+
DependencyDeclaration,
3+
DependencyFactory,
4+
DependencyRecord,
5+
} from "@proto-kit/common";
26
import { StateServiceProvider } from "@proto-kit/protocol";
37
import { MethodIdResolver } from "@proto-kit/module";
48

@@ -19,3 +23,5 @@ export class SharedDependencyFactory {
1923
};
2024
}
2125
}
26+
27+
SharedDependencyFactory satisfies DependencyFactory;

packages/sequencer/src/logging/ConsoleTracingFactory.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { DependencyRecord } from "@proto-kit/common";
1+
import { DependencyFactory, DependencyRecord } from "@proto-kit/common";
22

33
import { ConsoleTracer } from "./ConsoleTracer";
44

@@ -11,3 +11,5 @@ export class ConsoleTracingFactory {
1111
} satisfies DependencyRecord;
1212
}
1313
}
14+
15+
ConsoleTracingFactory satisfies DependencyFactory;

packages/sequencer/src/protocol/baselayer/MinaBaseLayer.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,3 +143,5 @@ export class MinaBaseLayer
143143
this.network = Network;
144144
}
145145
}
146+
147+
MinaBaseLayer satisfies DependencyFactory;

packages/sequencer/src/sequencer/SequencerStartupModule.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,15 @@ export class SequencerStartupModule
151151

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

154+
const timeout = setTimeout(
155+
() => {
156+
log.error(
157+
"No response yet received from workers - have you configured a TaskQueue and a corresponding worker running (either in-process or somewhere else)"
158+
);
159+
},
160+
this.areProofsEnabled.areProofsEnabled ? 20 * 60 * 1000 : 30 * 1000
161+
);
162+
154163
const root = await this.compileRuntime(flow);
155164

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

178187
log.info("Protocol circuits compiled successfully, commencing startup");
188+
189+
clearTimeout(timeout);
179190
}
180191

181192
public async close() {

packages/sequencer/src/worker/worker/FlowTaskWorker.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,8 @@ export class FlowTaskWorker<Tasks extends Task<any, any>[]>
106106
...newWorkers,
107107
};
108108

109+
log.info("All tasks prepared and ready");
110+
109111
this.prepareResolve!();
110112
}
111113

0 commit comments

Comments
 (0)