From e95e58d8bb7c3a57e4d9467a8fc69a5418fbde0c Mon Sep 17 00:00:00 2001 From: stanlou Date: Fri, 27 Mar 2026 15:38:29 +0100 Subject: [PATCH 1/5] feat(cli): add scripts.env file support --- package-lock.json | 1 + packages/cli/package.json | 1 + packages/cli/src/commands/lightnet/faucet.ts | 3 +- .../cli/src/commands/lightnet/initialize.ts | 2 +- .../cli/src/commands/settlement/deploy.ts | 2 +- .../src/commands/settlement/tokenDeploy.ts | 2 +- packages/cli/src/scripts/bridge/deposit.ts | 15 ++-- packages/cli/src/scripts/bridge/redeem.ts | 15 ++-- .../src/scripts/settlement/deploy-token.ts | 37 +++++---- packages/cli/src/scripts/settlement/deploy.ts | 14 ++-- packages/cli/src/utils/loadEnv.ts | 14 +++- packages/cli/src/utils/modules.ts | 80 +++++++++++++++++++ 12 files changed, 142 insertions(+), 44 deletions(-) create mode 100644 packages/cli/src/utils/modules.ts diff --git a/package-lock.json b/package-lock.json index 1d57189ac..190c5394c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29004,6 +29004,7 @@ "@proto-kit/indexer": "*", "@proto-kit/library": "*", "@proto-kit/module": "*", + "@proto-kit/persistance": "*", "@proto-kit/protocol": "*", "@proto-kit/sdk": "*", "@proto-kit/sequencer": "*", diff --git a/packages/cli/package.json b/packages/cli/package.json index 3f30a7a27..caee8ca91 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -41,6 +41,7 @@ "@proto-kit/sequencer": "*", "@proto-kit/stack": "*", "@proto-kit/indexer": "*", + "@proto-kit/persistance": "*", "o1js": "^2.10.0", "tsyringe": "^4.10.0" }, diff --git a/packages/cli/src/commands/lightnet/faucet.ts b/packages/cli/src/commands/lightnet/faucet.ts index b4f3cb38c..57c28ffc7 100644 --- a/packages/cli/src/commands/lightnet/faucet.ts +++ b/packages/cli/src/commands/lightnet/faucet.ts @@ -11,7 +11,8 @@ interface FaucetArgs { export const faucetCommand: CommandModule<{}, FaucetArgs> = { command: "faucet ", - describe: "Send MINA to an account from the lightnet faucet", + describe: + "Send MINA to an account from the lightnet faucet\n\nRequires: MINA_NODE_GRAPHQL_HOST, MINA_NODE_GRAPHQL_PORT, MINA_ARCHIVE_GRAPHQL_HOST, MINA_ARCHIVE_GRAPHQL_PORT, MINA_ACCOUNT_MANAGER_HOST, MINA_ACCOUNT_MANAGER_PORT", builder: (yarg) => addEnvironmentOptions( yarg.positional("publicKey", { diff --git a/packages/cli/src/commands/lightnet/initialize.ts b/packages/cli/src/commands/lightnet/initialize.ts index 3adfd8578..ab1a9d39e 100644 --- a/packages/cli/src/commands/lightnet/initialize.ts +++ b/packages/cli/src/commands/lightnet/initialize.ts @@ -11,7 +11,7 @@ interface InitializeArgs { export const initializeCommand: CommandModule<{}, InitializeArgs> = { command: "initialize", describe: - "Initialize lightnet: wait for network, fund accounts, and deploy settlement\n\nRequires: MINA_NODE_GRAPHQL_HOST, MINA_NODE_GRAPHQL_PORT, MINA_ARCHIVE_GRAPHQL_HOST, MINA_ARCHIVE_GRAPHQL_PORT, MINA_ACCOUNT_MANAGER_HOST, MINA_ACCOUNT_MANAGER_PORT, PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY, PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY, PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY", + "Initialize lightnet: wait for network, fund accounts, and deploy settlement\n\nRequires: MINA_NODE_GRAPHQL_HOST, MINA_NODE_GRAPHQL_PORT, MINA_ARCHIVE_GRAPHQL_HOST, MINA_ARCHIVE_GRAPHQL_PORT, MINA_ACCOUNT_MANAGER_HOST, MINA_ACCOUNT_MANAGER_PORT, PROTOKIT_SEQUENCER_PUBLIC_KEY, TEST_ACCOUNT_1_PUBLIC_KEY, PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY, PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY", builder: (yarg) => addEnvironmentOptions(yarg), handler: async (args) => { try { diff --git a/packages/cli/src/commands/settlement/deploy.ts b/packages/cli/src/commands/settlement/deploy.ts index 11ba65f54..972895c87 100644 --- a/packages/cli/src/commands/settlement/deploy.ts +++ b/packages/cli/src/commands/settlement/deploy.ts @@ -11,7 +11,7 @@ interface DeployArgs { export const deployCommand: CommandModule<{}, DeployArgs> = { command: "deploy", describe: - "Deploy settlement contracts\n\nRequires: PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY, PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY, PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY", + "Deploy settlement contracts\n\nRequires: PROTOKIT_SETTLEMENT_CONTRACT_PUBLIC_KEY, PROTOKIT_DISPATCHER_CONTRACT_PUBLIC_KEY", builder: (yarg) => addEnvironmentOptions(yarg), handler: async (args) => { try { diff --git a/packages/cli/src/commands/settlement/tokenDeploy.ts b/packages/cli/src/commands/settlement/tokenDeploy.ts index b9277509d..38af039d1 100644 --- a/packages/cli/src/commands/settlement/tokenDeploy.ts +++ b/packages/cli/src/commands/settlement/tokenDeploy.ts @@ -16,7 +16,7 @@ export const tokenDeployCommand: CommandModule<{}, TokenDeployArgs> = { command: "token-deploy [mintAmount]", describe: - "Deploy custom fungible token for settlement\n\nRequires: PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY, PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY, PROTOKIT_CUSTOM_TOKEN_PRIVATE_KEY, PROTOKIT_CUSTOM_TOKEN_ADMIN_PRIVATE_KEY, PROTOKIT_CUSTOM_TOKEN_BRIDGE_PRIVATE_KEY", + "Deploy custom fungible token for settlement\n\nRequires: REDIS_HOST, REDIS_PORT, REDIS_PASSWORD, DATABASE_URL, PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY, PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY", builder: (yarg) => addEnvironmentOptions( yarg diff --git a/packages/cli/src/scripts/bridge/deposit.ts b/packages/cli/src/scripts/bridge/deposit.ts index 5272d5de2..50b471313 100644 --- a/packages/cli/src/scripts/bridge/deposit.ts +++ b/packages/cli/src/scripts/bridge/deposit.ts @@ -1,4 +1,5 @@ import { DispatchSmartContract } from "@proto-kit/protocol"; +import { InMemoryDatabase } from "@proto-kit/sequencer"; import { loadEnvironmentVariables, @@ -25,6 +26,9 @@ export default async function ( ); } loadEnvironmentVariables(options); + const { scriptModules, scriptModulesConfig } = + await import("../../utils/modules"); + const { BridgingModule, MinaTransactionSender, @@ -34,7 +38,6 @@ export default async function ( } = await import("@proto-kit/sequencer"); const { Runtime } = await import("@proto-kit/module"); const { Protocol } = await import("@proto-kit/protocol"); - const { DefaultConfigs, DefaultModules } = await import("@proto-kit/stack"); const { AccountUpdate, fetchAccount, @@ -87,8 +90,8 @@ export default async function ( ...protocol.settlementModules, }), Sequencer: Sequencer.from({ - ...DefaultModules.inMemoryDatabase(), - ...DefaultModules.settlementScript(), + Database: InMemoryDatabase, + ...scriptModules, }), }); @@ -99,10 +102,8 @@ export default async function ( ...protocol.settlementModulesConfig, }, Sequencer: { - ...DefaultConfigs.inMemoryDatabase(), - ...DefaultConfigs.settlementScript({ - preset: "development", - }), + Database: {}, + ...scriptModulesConfig, }, }); diff --git a/packages/cli/src/scripts/bridge/redeem.ts b/packages/cli/src/scripts/bridge/redeem.ts index efa950d39..4595f481a 100644 --- a/packages/cli/src/scripts/bridge/redeem.ts +++ b/packages/cli/src/scripts/bridge/redeem.ts @@ -1,3 +1,5 @@ +import { InMemoryDatabase } from "@proto-kit/sequencer"; + import { loadEnvironmentVariables, getRequiredEnv, @@ -22,6 +24,8 @@ export default async function ( ); } loadEnvironmentVariables(options); + const { scriptModules, scriptModulesConfig } = + await import("../../utils/modules"); const { BridgingModule, @@ -42,7 +46,6 @@ export default async function ( UInt64, } = await import("o1js"); const { FungibleToken } = await import("mina-fungible-token"); - const { DefaultConfigs, DefaultModules } = await import("@proto-kit/stack"); const { runtime, protocol } = await loadUserModules(); const tokenId = Field(bridgeArgs.tokenId); const toPrivateKey = PrivateKey.fromBase58( @@ -72,8 +75,8 @@ export default async function ( ...protocol.settlementModules, }), Sequencer: Sequencer.from({ - ...DefaultModules.inMemoryDatabase(), - ...DefaultModules.settlementScript(), + Database: InMemoryDatabase, + ...scriptModules, }), }); @@ -84,10 +87,8 @@ export default async function ( ...protocol.settlementModulesConfig, }, Sequencer: { - ...DefaultConfigs.inMemoryDatabase(), - ...DefaultConfigs.settlementScript({ - preset: "development", - }), + Database: {}, + ...scriptModulesConfig, }, }); diff --git a/packages/cli/src/scripts/settlement/deploy-token.ts b/packages/cli/src/scripts/settlement/deploy-token.ts index 419435901..78145b63a 100644 --- a/packages/cli/src/scripts/settlement/deploy-token.ts +++ b/packages/cli/src/scripts/settlement/deploy-token.ts @@ -1,10 +1,15 @@ /* eslint-disable no-inner-declarations */ import { DispatchSmartContract } from "@proto-kit/protocol"; +import { PrismaRedisDatabase } from "@proto-kit/persistance"; import "reflect-metadata"; import { container } from "tsyringe"; -import { loadEnvironmentVariables, LoadEnvOptions } from "../../utils/loadEnv"; +import { + getRequiredEnv, + loadEnvironmentVariables, + LoadEnvOptions, +} from "../../utils/loadEnv"; import { loadUserModules } from "../../utils/loadUserModules"; export interface TokenDeployArgs { @@ -25,6 +30,8 @@ export default async function ( ); } loadEnvironmentVariables(options); + const { scriptModules, scriptModulesConfig } = + await import("../../utils/modules"); const { Runtime } = await import("@proto-kit/module"); const { Protocol } = await import("@proto-kit/protocol"); @@ -51,7 +58,6 @@ export default async function ( } = await import("o1js"); const { FungibleToken, FungibleTokenAdmin } = await import("mina-fungible-token"); - const { DefaultConfigs, DefaultModules } = await import("@proto-kit/stack"); const { runtime, protocol } = await loadUserModules(); const appChain = AppChain.from({ @@ -61,8 +67,8 @@ export default async function ( ...protocol.settlementModules, }), Sequencer: Sequencer.from({ - ...DefaultModules.prismaRedisDatabase(), - ...DefaultModules.settlementScript(), + Database: PrismaRedisDatabase, + ...scriptModules, }), }); @@ -73,15 +79,18 @@ export default async function ( ...protocol.settlementModulesConfig, }, Sequencer: { - ...DefaultConfigs.prismaRedisDatabase({ - preset: "development", - overrides: { - pruneOnStartup: false, + Database: { + redis: { + host: getRequiredEnv("REDIS_HOST"), + port: Number(getRequiredEnv("REDIS_PORT")), + password: getRequiredEnv("REDIS_PASSWORD"), }, - }), - ...DefaultConfigs.settlementScript({ - preset: "development", - }), + prisma: { + connection: getRequiredEnv("DATABASE_URL"), + }, + pruneOnStartup: false, + }, + ...scriptModulesConfig, }, }); @@ -256,10 +265,10 @@ export default async function ( Provable.log("Deployed and initialized settlement contracts", { settlement: PrivateKey.fromBase58( - process.env.PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY! + getRequiredEnv("PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY") ).toPublicKey(), dispatcher: PrivateKey.fromBase58( - process.env.PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY! + getRequiredEnv("PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY") ).toPublicKey(), }); diff --git a/packages/cli/src/scripts/settlement/deploy.ts b/packages/cli/src/scripts/settlement/deploy.ts index 2d206fb16..c4a3c63e5 100644 --- a/packages/cli/src/scripts/settlement/deploy.ts +++ b/packages/cli/src/scripts/settlement/deploy.ts @@ -1,6 +1,5 @@ import "reflect-metadata"; import { container } from "tsyringe"; -import type { Environment } from "@proto-kit/stack"; import { loadEnvironmentVariables, @@ -17,8 +16,10 @@ export default async function (options: LoadEnvOptions) { const { AppChain, Sequencer, SettlementModule, InMemoryDatabase } = await import("@proto-kit/sequencer"); - const { DefaultModules, DefaultConfigs } = await import("@proto-kit/stack"); loadEnvironmentVariables(options); + const { scriptModules, scriptModulesConfig } = + await import("../../utils/modules"); + const { runtime, protocol } = await loadUserModules(); const appChain = AppChain.from({ Runtime: Runtime.from(runtime.modules), @@ -28,7 +29,7 @@ export default async function (options: LoadEnvOptions) { }), Sequencer: Sequencer.from({ Database: InMemoryDatabase, - ...DefaultModules.settlementScript(), + ...scriptModules, }), }); @@ -39,11 +40,8 @@ export default async function (options: LoadEnvOptions) { ...protocol.settlementModulesConfig, }, Sequencer: { - ...DefaultConfigs.inMemoryDatabase(), - ...DefaultConfigs.settlementScript({ - // eslint-disable-next-line @typescript-eslint/consistent-type-assertions - preset: options.env as Environment, - }), + Database: {}, + ...scriptModulesConfig, SettlementModule: { addresses: undefined, }, diff --git a/packages/cli/src/utils/loadEnv.ts b/packages/cli/src/utils/loadEnv.ts index a79453e5e..8806749e1 100644 --- a/packages/cli/src/utils/loadEnv.ts +++ b/packages/cli/src/utils/loadEnv.ts @@ -13,12 +13,18 @@ export type LoadEnvOptions = { export function loadEnvironmentVariables(options: LoadEnvOptions) { const cwd = process.cwd(); + + const scriptsEnvPath = path.join( + resolveChainPath(), + `./src/core/environments/${options.env}/scripts.env` + ); + const defaultEnvPath = path.join( + resolveChainPath(), + `./src/core/environments/${options.env}/.env` + ); const env = options.envPath ?? - path.join( - resolveChainPath(), - `./src/core/environments/${options.env}/.env` - ); + (fs.existsSync(scriptsEnvPath) ? scriptsEnvPath : defaultEnvPath); const envPath = path.isAbsolute(env) ? env : path.join(cwd, env); if (fs.existsSync(envPath)) { dotenv.config({ path: envPath }); diff --git a/packages/cli/src/utils/modules.ts b/packages/cli/src/utils/modules.ts new file mode 100644 index 000000000..7be304f0c --- /dev/null +++ b/packages/cli/src/utils/modules.ts @@ -0,0 +1,80 @@ +import { + PrivateMempool, + SequencerStartupModule, + WorkerModule, + VanillaTaskWorkerModules, + MinaBaseLayer, + ConstantFeeStrategy, + BatchProducerModule, + SettlementModule, + LocalTaskQueue, + InMemoryMinaSigner, + BridgingModule, +} from "@proto-kit/sequencer"; +import { PrivateKey } from "o1js"; + +import { getRequiredEnv } from "./loadEnv"; + +export const scriptModules = { + BaseLayer: MinaBaseLayer, + FeeStrategy: ConstantFeeStrategy, + BatchProducerModule, + SettlementModule, + SettlementSigner: InMemoryMinaSigner, + BridgingModule, + Mempool: PrivateMempool, + TaskQueue: LocalTaskQueue, + WorkerModule: WorkerModule.from(VanillaTaskWorkerModules.allTasks()), + SequencerStartupModule, +}; + +export const scriptModulesConfig = { + BaseLayer: { + network: { + // eslint-disable-next-line @typescript-eslint/consistent-type-assertions + type: getRequiredEnv("MINA_NETWORK") as "local" | "lightnet" | "remote", + graphql: `${getRequiredEnv("MINA_NODE_GRAPHQL_HOST")}:${getRequiredEnv("MINA_NODE_GRAPHQL_PORT")}/graphql`, + archive: `${getRequiredEnv("MINA_ARCHIVE_GRAPHQL_HOST")}:${getRequiredEnv("MINA_ARCHIVE_GRAPHQL_PORT")}`, + accountManager: `${getRequiredEnv("MINA_ACCOUNT_MANAGER_HOST")}:${getRequiredEnv("MINA_ACCOUNT_MANAGER_PORT")}`, + }, + }, + SettlementModule: { + addresses: { + SettlementContract: PrivateKey.fromBase58( + getRequiredEnv("PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY") + ).toPublicKey(), + }, + }, + BridgingModule: { + addresses: { + DispatchContract: PrivateKey.fromBase58( + getRequiredEnv("PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY") + ).toPublicKey(), + }, + }, + SettlementSigner: { + feepayer: PrivateKey.fromBase58( + getRequiredEnv("PROTOKIT_SEQUENCER_PRIVATE_KEY") + ), + contractKeys: [ + PrivateKey.fromBase58( + getRequiredEnv("PROTOKIT_SETTLEMENT_CONTRACT_PRIVATE_KEY") + ), + PrivateKey.fromBase58( + getRequiredEnv("PROTOKIT_DISPATCHER_CONTRACT_PRIVATE_KEY") + ), + PrivateKey.fromBase58( + getRequiredEnv("PROTOKIT_MINA_BRIDGE_CONTRACT_PRIVATE_KEY") + ), + ], + }, + FeeStrategy: {}, + BatchProducerModule: {}, + WorkerModule: VanillaTaskWorkerModules.defaultConfig(), + SequencerStartupModule: {}, + TaskQueue: { + simulatedDuration: 0, + }, + LocalTaskWorker: VanillaTaskWorkerModules.defaultConfig(), + Mempool: {}, +}; From 4918df083093c35df7f6fdcf4c388d1e56fe1944 Mon Sep 17 00:00:00 2001 From: stanlou Date: Wed, 15 Apr 2026 02:30:11 +0100 Subject: [PATCH 2/5] update env variables --- packages/cli/src/utils/modules.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/utils/modules.ts b/packages/cli/src/utils/modules.ts index 7be304f0c..1f42d145e 100644 --- a/packages/cli/src/utils/modules.ts +++ b/packages/cli/src/utils/modules.ts @@ -33,9 +33,9 @@ export const scriptModulesConfig = { network: { // eslint-disable-next-line @typescript-eslint/consistent-type-assertions type: getRequiredEnv("MINA_NETWORK") as "local" | "lightnet" | "remote", - graphql: `${getRequiredEnv("MINA_NODE_GRAPHQL_HOST")}:${getRequiredEnv("MINA_NODE_GRAPHQL_PORT")}/graphql`, - archive: `${getRequiredEnv("MINA_ARCHIVE_GRAPHQL_HOST")}:${getRequiredEnv("MINA_ARCHIVE_GRAPHQL_PORT")}`, - accountManager: `${getRequiredEnv("MINA_ACCOUNT_MANAGER_HOST")}:${getRequiredEnv("MINA_ACCOUNT_MANAGER_PORT")}`, + graphql: getRequiredEnv("MINA_NODE_GRAPHQL"), + archive: getRequiredEnv("MINA_ARCHIVE_GRAPHQL"), + accountManager: getRequiredEnv("MINA_ACCOUNT_MANAGER_URL"), }, }, SettlementModule: { From a291358085351ff7938a0407ae123124c888a690 Mon Sep 17 00:00:00 2001 From: stanlou Date: Wed, 15 Apr 2026 02:34:40 +0100 Subject: [PATCH 3/5] linting --- packages/cli/src/scripts/settlement/deploy.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/scripts/settlement/deploy.ts b/packages/cli/src/scripts/settlement/deploy.ts index b928daba2..a76a66f05 100644 --- a/packages/cli/src/scripts/settlement/deploy.ts +++ b/packages/cli/src/scripts/settlement/deploy.ts @@ -11,7 +11,7 @@ import { loadUserModules } from "../../utils/loadUserModules"; export default async function (options: LoadEnvOptions) { try { loadEnvironmentVariables(options); - const { Provable, PublicKey, PrivateKey } = await import("o1js"); + const { Provable, PublicKey } = await import("o1js"); const { Runtime } = await import("@proto-kit/module"); const { Protocol } = await import("@proto-kit/protocol"); const { From f7bbc4d765098857ced91b8b69e886b28535eef8 Mon Sep 17 00:00:00 2001 From: Raphael Panic Date: Tue, 21 Apr 2026 13:11:52 +0200 Subject: [PATCH 4/5] Fixed modules records and configurations for script modules --- .../cli/src/scripts/settlement/deploy-token.ts | 16 +--------------- packages/cli/src/scripts/settlement/deploy.ts | 3 --- packages/cli/src/utils/modules.ts | 10 ++-------- 3 files changed, 3 insertions(+), 26 deletions(-) diff --git a/packages/cli/src/scripts/settlement/deploy-token.ts b/packages/cli/src/scripts/settlement/deploy-token.ts index 78145b63a..dc5c18052 100644 --- a/packages/cli/src/scripts/settlement/deploy-token.ts +++ b/packages/cli/src/scripts/settlement/deploy-token.ts @@ -66,10 +66,7 @@ export default async function ( ...protocol.modules, ...protocol.settlementModules, }), - Sequencer: Sequencer.from({ - Database: PrismaRedisDatabase, - ...scriptModules, - }), + Sequencer: Sequencer.from(scriptModules), }); appChain.configure({ @@ -79,17 +76,6 @@ export default async function ( ...protocol.settlementModulesConfig, }, Sequencer: { - Database: { - redis: { - host: getRequiredEnv("REDIS_HOST"), - port: Number(getRequiredEnv("REDIS_PORT")), - password: getRequiredEnv("REDIS_PASSWORD"), - }, - prisma: { - connection: getRequiredEnv("DATABASE_URL"), - }, - pruneOnStartup: false, - }, ...scriptModulesConfig, }, }); diff --git a/packages/cli/src/scripts/settlement/deploy.ts b/packages/cli/src/scripts/settlement/deploy.ts index a76a66f05..9b43ff084 100644 --- a/packages/cli/src/scripts/settlement/deploy.ts +++ b/packages/cli/src/scripts/settlement/deploy.ts @@ -33,7 +33,6 @@ export default async function (options: LoadEnvOptions) { ...protocol.settlementModules, }), Sequencer: Sequencer.from({ - Database: InMemoryDatabase, ...scriptModules, }), }); @@ -45,7 +44,6 @@ export default async function (options: LoadEnvOptions) { ...protocol.settlementModulesConfig, }, Sequencer: { - Database: {}, ...scriptModulesConfig, SettlementModule: { addresses: undefined, @@ -58,7 +56,6 @@ export default async function (options: LoadEnvOptions) { simulatedDuration: 0, }, WorkerModule: VanillaTaskWorkerModules.defaultConfig(), - Mempool: {}, }, }); diff --git a/packages/cli/src/utils/modules.ts b/packages/cli/src/utils/modules.ts index 1f42d145e..8f6039010 100644 --- a/packages/cli/src/utils/modules.ts +++ b/packages/cli/src/utils/modules.ts @@ -1,28 +1,25 @@ import { - PrivateMempool, SequencerStartupModule, WorkerModule, VanillaTaskWorkerModules, MinaBaseLayer, ConstantFeeStrategy, - BatchProducerModule, SettlementModule, LocalTaskQueue, InMemoryMinaSigner, BridgingModule, } from "@proto-kit/sequencer"; import { PrivateKey } from "o1js"; +import { ModulesConfig } from "@proto-kit/common"; import { getRequiredEnv } from "./loadEnv"; export const scriptModules = { BaseLayer: MinaBaseLayer, FeeStrategy: ConstantFeeStrategy, - BatchProducerModule, SettlementModule, SettlementSigner: InMemoryMinaSigner, BridgingModule, - Mempool: PrivateMempool, TaskQueue: LocalTaskQueue, WorkerModule: WorkerModule.from(VanillaTaskWorkerModules.allTasks()), SequencerStartupModule, @@ -69,12 +66,9 @@ export const scriptModulesConfig = { ], }, FeeStrategy: {}, - BatchProducerModule: {}, WorkerModule: VanillaTaskWorkerModules.defaultConfig(), SequencerStartupModule: {}, TaskQueue: { simulatedDuration: 0, }, - LocalTaskWorker: VanillaTaskWorkerModules.defaultConfig(), - Mempool: {}, -}; +} satisfies ModulesConfig; From b0c93b90db85de81f5e73296dff9e124b365ade6 Mon Sep 17 00:00:00 2001 From: Raphael Panic Date: Tue, 21 Apr 2026 13:13:24 +0200 Subject: [PATCH 5/5] Linting --- packages/cli/src/scripts/settlement/deploy-token.ts | 1 - packages/cli/src/scripts/settlement/deploy.ts | 9 ++------- packages/cli/src/utils/pathResolver.ts | 1 + 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/packages/cli/src/scripts/settlement/deploy-token.ts b/packages/cli/src/scripts/settlement/deploy-token.ts index dc5c18052..e2b5e398c 100644 --- a/packages/cli/src/scripts/settlement/deploy-token.ts +++ b/packages/cli/src/scripts/settlement/deploy-token.ts @@ -1,7 +1,6 @@ /* eslint-disable no-inner-declarations */ import { DispatchSmartContract } from "@proto-kit/protocol"; -import { PrismaRedisDatabase } from "@proto-kit/persistance"; import "reflect-metadata"; import { container } from "tsyringe"; diff --git a/packages/cli/src/scripts/settlement/deploy.ts b/packages/cli/src/scripts/settlement/deploy.ts index 9b43ff084..90db9a6ce 100644 --- a/packages/cli/src/scripts/settlement/deploy.ts +++ b/packages/cli/src/scripts/settlement/deploy.ts @@ -14,13 +14,8 @@ export default async function (options: LoadEnvOptions) { const { Provable, PublicKey } = await import("o1js"); const { Runtime } = await import("@proto-kit/module"); const { Protocol } = await import("@proto-kit/protocol"); - const { - AppChain, - Sequencer, - SettlementModule, - InMemoryDatabase, - VanillaTaskWorkerModules, - } = await import("@proto-kit/sequencer"); + const { AppChain, Sequencer, SettlementModule, VanillaTaskWorkerModules } = + await import("@proto-kit/sequencer"); loadEnvironmentVariables(options); const { scriptModules, scriptModulesConfig } = diff --git a/packages/cli/src/utils/pathResolver.ts b/packages/cli/src/utils/pathResolver.ts index d5ffea04a..d76d950a4 100644 --- a/packages/cli/src/utils/pathResolver.ts +++ b/packages/cli/src/utils/pathResolver.ts @@ -3,6 +3,7 @@ import fs from "fs"; export function resolveChainPath(isFolderRequired?: boolean): string { let currentDir = process.cwd(); + // eslint-disable-next-line no-constant-condition while (true) { const candidate = path.join(currentDir, "packages", "chain");