@cartesi/cli 0.15.1 → 0.16.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"baseCommand.d.ts","sourceRoot":"","sources":["../src/baseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKlD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAU,MAAM,MAAM,CAAC;AAmB7C,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,aAAa,CAClE,CAAC,OAAO,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CACjD,CAAC;AACF,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,WAAW,IAAI;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,8BAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IACvE,SAAS,CAAC,KAAK,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC;cAET,eAAe,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAe9B,SAAS,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAIpD,SAAS,CAAC,cAAc,IAAI,IAAI,GAAG,SAAS;IAY5C,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;cAItD,qBAAqB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAKrD,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IA0BzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAYrC"}
1
+ {"version":3,"file":"baseCommand.d.ts","sourceRoot":"","sources":["../src/baseCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAKlD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAU,MAAM,MAAM,CAAC;AAmB7C,MAAM,MAAM,KAAK,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,aAAa,CAClE,CAAC,OAAO,WAAW,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CACjD,CAAC;AACF,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,OAAO,OAAO,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhF,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAClD,MAAM,WAAW,IAAI;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;CAC5B;AAED,8BAAsB,WAAW,CAAC,CAAC,SAAS,OAAO,OAAO,CAAE,SAAQ,OAAO;IACvE,SAAS,CAAC,KAAK,EAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC3B,SAAS,CAAC,IAAI,EAAG,IAAI,CAAC,CAAC,CAAC,CAAC;cAET,eAAe,CAC3B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAe9B,SAAS,CAAC,cAAc,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM;IAIpD,SAAS,CAAC,cAAc,IAAI,IAAI,GAAG,SAAS;IAY5C,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE;cAItD,qBAAqB,IAAI,OAAO,CAAC,OAAO,GAAG,SAAS,CAAC;cAKrD,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAoCzC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAYrC"}
@@ -47,16 +47,26 @@ export class BaseCommand extends Command {
47
47
  AuthorityHistoryPairFactory: authorityHistoryPairFactoryAddress,
48
48
  CartesiDAppFactory: cartesiDAppFactoryAddress,
49
49
  DAppAddressRelay: dAppAddressRelayAddress,
50
+ EntryPointV06: "0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789",
51
+ EntryPointV07: "0x0000000071727De22E5E9d8BAf0edAc6f37da032",
50
52
  ERC1155BatchPortal: erc1155BatchPortalAddress,
51
53
  ERC1155SinglePortal: erc1155SinglePortalAddress,
52
54
  ERC20Portal: erc20PortalAddress,
53
55
  ERC721Portal: erc721PortalAddress,
54
56
  EtherPortal: etherPortalAddress,
55
57
  InputBox: inputBoxAddress,
58
+ LightAccountFactory: "0x00004EC70002a32400f8ae005A26081065620D20",
56
59
  SelfHostedApplicationFactory: selfHostedApplicationFactoryAddress,
60
+ SimpleAccountFactory: "0x9406Cc6185a346906296840746125a0E44976454",
61
+ SmartAccountFactory: "0x000000a56Aaca3e9a4C479ea6b6CD0DbcB6634F5",
62
+ KernelFactoryV2: "0x5de4839a76cf55d0c90e2061ef4386d962E15ae3",
63
+ KernelFactoryV3: "0x6723b44Abeec4E71eBE3232BD5B455805baDD22f",
64
+ KernelFactoryV3_1: "0xaac5D4240AF87249B3f71BC8E4A2cae074A3E419",
57
65
  TestToken: testTokenAddress,
58
66
  TestNFT: testNftAddress,
59
67
  TestMultiToken: testMultiTokenAddress,
68
+ VerifyingPaymasterV06: "0x28ec0633192d0cBd9E1156CE05D5FdACAcB93947",
69
+ VerifyingPaymasterV07: "0xc5c97885C67F7361aBAfD2B95067a5bBdA603608",
60
70
  };
61
71
  // get dapp address
62
72
  const applicationAddress = await this.getApplicationAddress();
@@ -6,7 +6,10 @@ export default class DeployBuild extends BaseCommand<typeof DeployBuild> {
6
6
  static flags: {
7
7
  platform: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<string | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
8
  };
9
+ static enableJsonFlag: boolean;
9
10
  private buildRollupsImage;
10
- run(): Promise<string>;
11
+ run(): Promise<{
12
+ image: string;
13
+ }>;
11
14
  }
12
15
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/build.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW,CAAC,OAAO,WAAW,CAAC;IACpE,MAAM,CAAC,OAAO,SAAmD;IAEjE,MAAM,CAAC,WAAW,SACoD;IAEtE,MAAM,CAAC,QAAQ,WAA2C;IAE1D,MAAM,CAAC,KAAK;;MAOV;YAEY,iBAAiB;IA6BlB,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC;CAwBtC"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../src/commands/deploy/build.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,WAAW,CAAC,OAAO,WAAW,CAAC;IACpE,MAAM,CAAC,OAAO,SAAmD;IAEjE,MAAM,CAAC,WAAW,SACoD;IAEtE,MAAM,CAAC,QAAQ,WAA2C;IAE1D,MAAM,CAAC,KAAK;;MAOV;IAEF,OAAc,cAAc,UAAQ;YAEtB,iBAAiB;IA6BlB,GAAG;;;CAwBnB"}
@@ -45,7 +45,7 @@ class DeployBuild extends BaseCommand {
45
45
  title: "Application node Docker image",
46
46
  value: image,
47
47
  });
48
- return image;
48
+ return { image };
49
49
  }
50
50
  }
51
51
  DeployBuild.summary = "Build deployment Docker image of application.";
@@ -58,4 +58,5 @@ DeployBuild.flags = {
58
58
  description: "Select the target platform for the produced Docker image. It depends on the platform where the application node will be deployed.",
59
59
  }),
60
60
  };
61
+ DeployBuild.enableJsonFlag = true;
61
62
  export default DeployBuild;
@@ -5,10 +5,16 @@ export default class Run extends BaseCommand<typeof Run> {
5
5
  static examples: string[];
6
6
  static flags: {
7
7
  "block-time": import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
8
+ "disable-explorer": import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
9
+ "disable-bundler": import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
+ "disable-paymaster": import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
8
11
  "epoch-length": import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
9
12
  "no-backend": import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
10
13
  verbose: import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
11
14
  "listen-port": import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
15
+ cpus: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
16
+ memory: import("@oclif/core/lib/interfaces/parser.js").OptionFlag<number | undefined, import("@oclif/core/lib/interfaces/parser.js").CustomOptions>;
17
+ "dry-run": import("@oclif/core/lib/interfaces/parser.js").BooleanFlag<boolean>;
12
18
  };
13
19
  run(): Promise<void>;
14
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACpD,MAAM,CAAC,OAAO,SAA2B;IAEzC,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAA2C;IAE1D,MAAM,CAAC,KAAK;;;;;;MAwBV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAwHpC"}
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,WAAW,CAAC,OAAO,GAAG,CAAC;IACpD,MAAM,CAAC,OAAO,SAA2B;IAEzC,MAAM,CAAC,WAAW,SAAmD;IAErE,MAAM,CAAC,QAAQ,WAA2C;IAE1D,MAAM,CAAC,KAAK;;;;;;;;;;;;MAyDV;IAEW,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAoJpC"}
@@ -40,9 +40,17 @@ class Run extends BaseCommand {
40
40
  CARTESI_SNAPSHOT_DIR: "/usr/share/rollups-node/snapshot",
41
41
  CARTESI_BIN_PATH: binPath,
42
42
  CARTESI_LISTEN_PORT: listenPort.toString(),
43
+ CARTESI_VALIDATOR_CPUS: flags.cpus?.toString(),
44
+ CARTESI_VALIDATOR_MEMORY: flags.memory?.toString(),
43
45
  };
44
46
  // validator
45
47
  const composeFiles = ["docker-compose-validator.yaml"];
48
+ if (flags.cpus) {
49
+ composeFiles.push("docker-compose-validator-cpus.yaml");
50
+ }
51
+ if (flags.memory) {
52
+ composeFiles.push("docker-compose-validator-memory.yaml");
53
+ }
46
54
  // prompt
47
55
  composeFiles.push("docker-compose-prompt.yaml");
48
56
  // database
@@ -52,7 +60,17 @@ class Run extends BaseCommand {
52
60
  // anvil
53
61
  composeFiles.push("docker-compose-anvil.yaml");
54
62
  // explorer
55
- composeFiles.push("docker-compose-explorer.yaml");
63
+ if (!flags["disable-explorer"]) {
64
+ composeFiles.push("docker-compose-explorer.yaml");
65
+ }
66
+ // account abstraction
67
+ if (!flags["disable-bundler"]) {
68
+ composeFiles.push("docker-compose-bundler.yaml");
69
+ }
70
+ if (!flags["disable-paymaster"] && !flags["disable-bundler"]) {
71
+ // only add paymaster if bundler is enabled
72
+ composeFiles.push("docker-compose-paymaster.yaml");
73
+ }
56
74
  // load the no-backend compose file
57
75
  if (flags["no-backend"]) {
58
76
  composeFiles.push("docker-compose-host.yaml");
@@ -86,6 +104,14 @@ class Run extends BaseCommand {
86
104
  // XXX: need this handler, so SIGINT can still call the finally block below
87
105
  process.on("SIGINT", () => { });
88
106
  try {
107
+ if (flags["dry-run"]) {
108
+ // show the docker compose configuration
109
+ await execa("docker", [...compose_args, "config"], {
110
+ env,
111
+ stdio: "inherit",
112
+ });
113
+ return;
114
+ }
89
115
  // run compose environment
90
116
  await execa("docker", [...compose_args, "up", ...up_args], {
91
117
  env,
@@ -115,6 +141,21 @@ Run.flags = {
115
141
  description: "interval between blocks (in seconds)",
116
142
  default: 5,
117
143
  }),
144
+ "disable-explorer": Flags.boolean({
145
+ default: false,
146
+ description: "disable local explorer service to save machine resources",
147
+ summary: "disable explorer service",
148
+ }),
149
+ "disable-bundler": Flags.boolean({
150
+ default: false,
151
+ description: "disable local bundler service to save machine resources",
152
+ summary: "disable bundler service",
153
+ }),
154
+ "disable-paymaster": Flags.boolean({
155
+ default: false,
156
+ description: "disable local paymaster service to save machine resources",
157
+ summary: "disable paymaster service",
158
+ }),
118
159
  "epoch-length": Flags.integer({
119
160
  description: "length of an epoch (in blocks)",
120
161
  default: 720,
@@ -133,5 +174,18 @@ Run.flags = {
133
174
  description: "port to listen for incoming connections",
134
175
  default: 8080,
135
176
  }),
177
+ cpus: Flags.integer({
178
+ description: "Define the number of CPUs to use (eg.: 1) for the rollups-node",
179
+ summary: "number of cpu limits for the rollups-node",
180
+ }),
181
+ memory: Flags.integer({
182
+ description: "Define the amount of memory to use for the rollups-node in MB (eg.: 1024)",
183
+ summary: "memory limit for the rollups-node in MB",
184
+ }),
185
+ "dry-run": Flags.boolean({
186
+ description: "show the docker compose configuration",
187
+ default: false,
188
+ hidden: true,
189
+ }),
136
190
  };
137
191
  export default Run;
@@ -11,7 +11,7 @@ class Shell extends BaseCommand {
11
11
  const ext2 = path.join(containerDir, path.basename(ext2Path));
12
12
  const ramSize = "128Mi";
13
13
  const driveLabel = "root";
14
- const sdkImage = "cartesi/sdk:0.9.0"; // XXX: how to resolve sdk version?
14
+ const sdkImage = "cartesi/sdk:0.10.0"; // XXX: how to resolve sdk version?
15
15
  const args = [
16
16
  "run",
17
17
  "--interactive",
@@ -1,4 +1,4 @@
1
- FROM cartesi/rollups-node:1.5.0
1
+ FROM cartesi/rollups-node:1.5.1
2
2
  ENV CARTESI_SNAPSHOT_DIR=/usr/share/rollups-node/snapshot
3
3
  ENV CARTESI_HTTP_ADDRESS=0.0.0.0
4
4
  COPY --chown=cartesi:cartesi . ${CARTESI_SNAPSHOT_DIR}
@@ -1,10 +1,10 @@
1
1
  # cartesi/rollups-node
2
2
  CARTESI_LOG_LEVEL="${CARTESI_LOG_LEVEL:-error}"
3
- CARTESI_LOG_TIMESTAMP="${CARTESI_LOG_TIMESTAMP:-true}"
4
3
  CARTESI_HTTP_ADDRESS="${CARTESI_HTTP_ADDRESS:-0.0.0.0}"
5
4
  CARTESI_HTTP_PORT="${CARTESI_HTTP_PORT:-10000}"
6
5
  CARTESI_FEATURE_HOST_MODE="${CARTESI_FEATURE_HOST_MODE:-false}"
7
- CARTESI_FEATURE_READER_MODE="${CARTESI_FEATURE_READER_MODE:-false}"
6
+ CARTESI_FEATURE_READER_MODE_ENABLED="${CARTESI_FEATURE_READER_MODE_ENABLED:-false}"
7
+ CARTESI_FEATURE_DISABLE_CLAIMER="${CARTESI_FEATURE_DISABLE_CLAIMER:-false}"
8
8
  CARTESI_FEATURE_DISABLE_MACHINE_HASH_CHECK="${CARTESI_FEATURE_DISABLE_MACHINE_HASH_CHECK:-true}"
9
9
  CARTESI_EPOCH_LENGTH="${CARTESI_EPOCH_LENGTH:-720}"
10
10
  CARTESI_BLOCKCHAIN_ID="${CARTESI_BLOCKCHAIN_ID:-31337}"
@@ -12,6 +12,7 @@ CARTESI_BLOCKCHAIN_HTTP_ENDPOINT="${CARTESI_BLOCKCHAIN_HTTP_ENDPOINT:-http://anv
12
12
  CARTESI_BLOCKCHAIN_WS_ENDPOINT="${CARTESI_BLOCKCHAIN_WS_ENDPOINT:-ws://anvil:8545}"
13
13
  CARTESI_BLOCKCHAIN_IS_LEGACY="${CARTESI_BLOCKCHAIN_IS_LEGACY:-false}"
14
14
  CARTESI_BLOCKCHAIN_FINALITY_OFFSET="${CARTESI_BLOCKCHAIN_FINALITY_OFFSET:-0}"
15
+ CARTESI_BLOCKCHAIN_BLOCK_TIMEOUT="${CARTESI_BLOCKCHAIN_BLOCK_TIMEOUT:-60}"
15
16
  CARTESI_CONTRACTS_APPLICATION_ADDRESS="${CARTESI_CONTRACTS_APPLICATION_ADDRESS:-0xab7528bb862fb57e8a2bcd567a2e929a0be56a5e}"
16
17
  CARTESI_CONTRACTS_INPUT_BOX_DEPLOYMENT_BLOCK_NUMBER="${CARTESI_CONTRACTS_INPUT_BOX_DEPLOYMENT_BLOCK_NUMBER:-22}"
17
18
  CARTESI_CONTRACTS_HISTORY_ADDRESS="${CARTESI_CONTRACTS_HISTORY_ADDRESS:-0x325272217ae6815b494bf38ced004c5eb8a7cda7}"
@@ -20,7 +21,6 @@ CARTESI_CONTRACTS_INPUT_BOX_ADDRESS="${CARTESI_CONTRACTS_INPUT_BOX_ADDRESS:-0x59
20
21
  CARTESI_SNAPSHOT_DIR="${CARTESI_SNAPSHOT_DIR:-/usr/share/cartesi/snapshot}"
21
22
  CARTESI_AUTH_MNEMONIC="${CARTESI_AUTH_MNEMONIC:-test test test test test test test test test test test junk}"
22
23
  CARTESI_POSTGRES_ENDPOINT="${CARTESI_POSTGRES_ENDPOINT:-postgres://postgres:password@database:5432/postgres}"
23
- CARTESI_EXPERIMENTAL_DISABLE_CONFIG_LOG="${CARTESI_EXPERIMENTAL_DISABLE_CONFIG_LOG:-false}"
24
24
  CARTESI_EXPERIMENTAL_SERVER_MANAGER_BYPASS_LOG="${CARTESI_EXPERIMENTAL_SERVER_MANAGER_BYPASS_LOG:-false}"
25
25
 
26
26
  # server-manager
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  anvil:
3
- image: cartesi/sdk:0.9.0
3
+ image: cartesi/sdk:0.10.0
4
4
  command:
5
5
  [
6
6
  "devnet",
@@ -19,7 +19,7 @@ services:
19
19
  - 8545:8545
20
20
 
21
21
  dapp_deployer:
22
- image: cartesi/sdk:0.9.0
22
+ image: cartesi/sdk:0.10.0
23
23
  restart: on-failure
24
24
  depends_on:
25
25
  anvil:
@@ -0,0 +1,57 @@
1
+ services:
2
+ alto:
3
+ image: cartesi/sdk:0.10.0
4
+ command:
5
+ - "alto"
6
+ - "--entrypoints"
7
+ - "0x5ff137d4b0fdcd49dca30c7cf57e578a026d2789,0x0000000071727De22E5E9d8BAf0edAc6f37da032"
8
+ - "--log-level"
9
+ - "info"
10
+ - "--entrypoint-simulation-contract"
11
+ - "0x74Cb5e4eE81b86e70f9045036a1C5477de69eE87"
12
+ - "--rpc-url"
13
+ - "http://anvil:8545"
14
+ - "--min-executor-balance"
15
+ - "0"
16
+ - "--utility-private-key"
17
+ - "0xdbda1821b80551c9d65939329250298aa3472ba22feea921c0cf5d620ea67b97"
18
+ - "--executor-private-keys"
19
+ - "0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6,0x4bbbf85ce3377467afe5d46f804f221813b2bb87f24d81f60f1fcdbf7cbf4356,0x92db14e403b83dfe3df233f83dfa3a0d7096f21ca9b0d6d6b8d88b2b4ec1564e,0x8b3a350cf5c34c9194ca85829a2df0ec3153be0318b5e2d3348e872092edffba,0x47e179ec197488593b187f80a00eb0da91f1b9d0b13f8733639f19c30a34926a"
20
+ - "--max-block-range"
21
+ - "10000"
22
+ - "--safe-mode"
23
+ - "false"
24
+ - "--port"
25
+ - "4337"
26
+ - "--public-client-log-level"
27
+ - "error"
28
+ - "--wallet-client-log-level"
29
+ - "error"
30
+ - "--polling-interval"
31
+ - "100"
32
+ - "--enable-debug-endpoints"
33
+ prompt:
34
+ image: debian:bookworm-slim
35
+ environment:
36
+ PROMPT_TXT_06_BUNDLER: "Bundler running at http://localhost:${CARTESI_LISTEN_PORT}/bundler/rpc"
37
+
38
+ traefik-config-generator:
39
+ environment:
40
+ TRAEFIK_CONFIG_BUNDLER: |
41
+ http:
42
+ routers:
43
+ bundler:
44
+ rule: "PathPrefix(`/bundler`)"
45
+ middlewares:
46
+ - "remove-bundler-prefix"
47
+ service: bundler
48
+ middlewares:
49
+ remove-bundler-prefix:
50
+ replacePathRegex:
51
+ regex: "^/bundler/(.*)"
52
+ replacement: "/$1"
53
+ services:
54
+ bundler:
55
+ loadBalancer:
56
+ servers:
57
+ - url: "http://alto:4337"
@@ -8,8 +8,3 @@ services:
8
8
  retries: 5
9
9
  environment:
10
10
  - POSTGRES_PASSWORD=password
11
-
12
- database_creator:
13
- depends_on:
14
- database:
15
- condition: service_healthy
@@ -2,6 +2,9 @@ services:
2
2
  database_creator:
3
3
  image: postgres:15-alpine
4
4
  command: ["createdb", "squid"]
5
+ depends_on:
6
+ database:
7
+ condition: service_healthy
5
8
  environment:
6
9
  PGHOST: ${PGHOST:-database}
7
10
  PGPORT: ${PGPORT:-5432}
@@ -30,7 +33,6 @@ services:
30
33
  CHAIN_ID: ${CHAIN_ID:-31337}
31
34
  RPC_URL_31337: ${RPC_URL:-http://anvil:8545}
32
35
  BLOCK_CONFIRMATIONS_31337: 0
33
- GENESIS_BLOCK_31337: 22
34
36
  DB_NAME: ${PGDATABASE:-squid}
35
37
  DB_PORT: ${PGPORT:-5432}
36
38
  DB_HOST: ${PGHOST:-database}
@@ -0,0 +1,33 @@
1
+ services:
2
+ mock-verifying-paymaster:
3
+ image: cartesi/sdk:0.10.0
4
+ command: "mock-verifying-paymaster"
5
+ environment:
6
+ - ALTO_RPC=http://alto:4337
7
+ - ANVIL_RPC=http://anvil:8545
8
+
9
+ prompt:
10
+ image: debian:bookworm-slim
11
+ environment:
12
+ PROMPT_TXT_07_PAYMASTER: "Paymaster running at http://localhost:${CARTESI_LISTEN_PORT}/paymaster/"
13
+
14
+ traefik-config-generator:
15
+ environment:
16
+ TRAEFIK_CONFIG_PAYMASTER: |
17
+ http:
18
+ routers:
19
+ paymaster:
20
+ rule: "PathPrefix(`/paymaster`)"
21
+ middlewares:
22
+ - "remove-paymaster-prefix"
23
+ service: paymaster
24
+ middlewares:
25
+ remove-paymaster-prefix:
26
+ replacePathRegex:
27
+ regex: "^/paymaster/(.*)"
28
+ replacement: "/$1"
29
+ services:
30
+ paymaster:
31
+ loadBalancer:
32
+ servers:
33
+ - url: "http://mock-verifying-paymaster:3000"
@@ -0,0 +1,6 @@
1
+ services:
2
+ validator:
3
+ deploy:
4
+ resources:
5
+ limits:
6
+ cpus: "${CARTESI_VALIDATOR_CPUS}"
@@ -0,0 +1,6 @@
1
+ services:
2
+ validator:
3
+ deploy:
4
+ resources:
5
+ limits:
6
+ memory: "${CARTESI_VALIDATOR_MEMORY}M"
@@ -1,6 +1,6 @@
1
1
  services:
2
2
  validator:
3
- image: cartesi/rollups-node:1.5.0
3
+ image: cartesi/rollups-node:1.5.1
4
4
  depends_on:
5
5
  dapp_deployer:
6
6
  condition: service_completed_successfully
@@ -222,6 +222,27 @@
222
222
  "multiple": false,
223
223
  "type": "option"
224
224
  },
225
+ "disable-explorer": {
226
+ "description": "disable local explorer service to save machine resources",
227
+ "name": "disable-explorer",
228
+ "summary": "disable explorer service",
229
+ "allowNo": false,
230
+ "type": "boolean"
231
+ },
232
+ "disable-bundler": {
233
+ "description": "disable local bundler service to save machine resources",
234
+ "name": "disable-bundler",
235
+ "summary": "disable bundler service",
236
+ "allowNo": false,
237
+ "type": "boolean"
238
+ },
239
+ "disable-paymaster": {
240
+ "description": "disable local paymaster service to save machine resources",
241
+ "name": "disable-paymaster",
242
+ "summary": "disable paymaster service",
243
+ "allowNo": false,
244
+ "type": "boolean"
245
+ },
225
246
  "epoch-length": {
226
247
  "description": "length of an epoch (in blocks)",
227
248
  "name": "epoch-length",
@@ -251,6 +272,29 @@
251
272
  "hasDynamicHelp": false,
252
273
  "multiple": false,
253
274
  "type": "option"
275
+ },
276
+ "cpus": {
277
+ "description": "Define the number of CPUs to use (eg.: 1) for the rollups-node",
278
+ "name": "cpus",
279
+ "summary": "number of cpu limits for the rollups-node",
280
+ "hasDynamicHelp": false,
281
+ "multiple": false,
282
+ "type": "option"
283
+ },
284
+ "memory": {
285
+ "description": "Define the amount of memory to use for the rollups-node in MB (eg.: 1024)",
286
+ "name": "memory",
287
+ "summary": "memory limit for the rollups-node in MB",
288
+ "hasDynamicHelp": false,
289
+ "multiple": false,
290
+ "type": "option"
291
+ },
292
+ "dry-run": {
293
+ "description": "show the docker compose configuration",
294
+ "hidden": true,
295
+ "name": "dry-run",
296
+ "allowNo": false,
297
+ "type": "boolean"
254
298
  }
255
299
  },
256
300
  "hasDynamicHelp": false,
@@ -311,6 +355,13 @@
311
355
  "<%= config.bin %> <%= command.id %>"
312
356
  ],
313
357
  "flags": {
358
+ "json": {
359
+ "description": "Format output as json.",
360
+ "helpGroup": "GLOBAL",
361
+ "name": "json",
362
+ "allowNo": false,
363
+ "type": "boolean"
364
+ },
314
365
  "platform": {
315
366
  "description": "Select the target platform for the produced Docker image. It depends on the platform where the application node will be deployed.",
316
367
  "name": "platform",
@@ -332,6 +383,7 @@
332
383
  "pluginType": "core",
333
384
  "strict": true,
334
385
  "summary": "Build deployment Docker image of application.",
386
+ "enableJsonFlag": true,
335
387
  "isESM": true,
336
388
  "relativePath": [
337
389
  "dist",
@@ -883,5 +935,5 @@
883
935
  ]
884
936
  }
885
937
  },
886
- "version": "0.15.1"
938
+ "version": "0.16.1"
887
939
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cartesi/cli",
3
- "version": "0.15.1",
3
+ "version": "0.16.1",
4
4
  "description": "Cartesi CLI",
5
5
  "author": "Danilo Tuler <tuler@pobox.com>",
6
6
  "bin": {
@@ -63,8 +63,8 @@
63
63
  "tslib": "^2.6.3",
64
64
  "typescript": "^5.5.4",
65
65
  "vitest": "^2.0.4",
66
- "@cartesi/eslint-config": "0.0.0",
67
66
  "@cartesi/devnet": "1.8.0",
67
+ "@cartesi/eslint-config": "0.0.0",
68
68
  "tsconfig": "0.0.0"
69
69
  },
70
70
  "oclif": {