@cartesi/cli 2.0.0-alpha.5 → 2.0.0-alpha.6
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.
- package/dist/base.d.ts +10 -6
- package/dist/base.d.ts.map +1 -1
- package/dist/base.js +41 -15
- package/dist/builder/directory.d.ts.map +1 -1
- package/dist/builder/docker.d.ts.map +1 -1
- package/dist/builder/empty.d.ts.map +1 -1
- package/dist/builder/none.d.ts.map +1 -1
- package/dist/builder/tar.d.ts.map +1 -1
- package/dist/commands/address-book.d.ts +3 -1
- package/dist/commands/address-book.d.ts.map +1 -1
- package/dist/commands/address-book.js +3 -3
- package/dist/commands/build.d.ts +4 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +3 -3
- package/dist/commands/clean.d.ts +1 -1
- package/dist/commands/clean.d.ts.map +1 -1
- package/dist/commands/clean.js +3 -3
- package/dist/commands/create.d.ts +4 -1
- package/dist/commands/create.d.ts.map +1 -1
- package/dist/commands/create.js +3 -4
- package/dist/commands/deploy/build.d.ts +1 -1
- package/dist/commands/deploy/build.d.ts.map +1 -1
- package/dist/commands/deploy/build.js +7 -54
- package/dist/commands/deploy.d.ts +1 -1
- package/dist/commands/deploy.d.ts.map +1 -1
- package/dist/commands/deploy.js +9 -73
- package/dist/commands/doctor.d.ts +1 -1
- package/dist/commands/doctor.d.ts.map +1 -1
- package/dist/commands/doctor.js +23 -11
- package/dist/commands/hash.d.ts +3 -1
- package/dist/commands/hash.d.ts.map +1 -1
- package/dist/commands/hash.js +3 -3
- package/dist/commands/rollups/deploy.d.ts +16 -0
- package/dist/commands/rollups/deploy.d.ts.map +1 -0
- package/dist/commands/rollups/deploy.js +225 -0
- package/dist/commands/rollups/logs.d.ts +11 -0
- package/dist/commands/rollups/logs.d.ts.map +1 -0
- package/dist/commands/rollups/logs.js +32 -0
- package/dist/commands/rollups/start.d.ts +14 -0
- package/dist/commands/rollups/start.d.ts.map +1 -0
- package/dist/commands/rollups/start.js +209 -0
- package/dist/commands/rollups/status.d.ts +7 -0
- package/dist/commands/rollups/status.d.ts.map +1 -0
- package/dist/commands/rollups/status.js +46 -0
- package/dist/commands/rollups/stop.d.ts +5 -0
- package/dist/commands/rollups/stop.d.ts.map +1 -0
- package/dist/commands/rollups/stop.js +26 -0
- package/dist/commands/rollups.d.ts +6 -0
- package/dist/commands/rollups.d.ts.map +1 -0
- package/dist/commands/rollups.js +19 -0
- package/dist/commands/run.d.ts +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +7 -155
- package/dist/commands/send/erc20.d.ts +10 -1
- package/dist/commands/send/erc20.d.ts.map +1 -1
- package/dist/commands/send/erc20.js +10 -8
- package/dist/commands/send/erc721.d.ts +10 -1
- package/dist/commands/send/erc721.d.ts.map +1 -1
- package/dist/commands/send/erc721.js +10 -8
- package/dist/commands/send/ether.d.ts +10 -1
- package/dist/commands/send/ether.d.ts.map +1 -1
- package/dist/commands/send/ether.js +10 -8
- package/dist/commands/send/generic.d.ts +11 -1
- package/dist/commands/send/generic.d.ts.map +1 -1
- package/dist/commands/send/generic.js +10 -9
- package/dist/commands/send.d.ts +4 -4
- package/dist/commands/send.d.ts.map +1 -1
- package/dist/commands/send.js +19 -19
- package/dist/commands/shell.d.ts +5 -1
- package/dist/commands/shell.d.ts.map +1 -1
- package/dist/commands/shell.js +3 -3
- package/dist/compose/rollups/default.env +35 -0
- package/dist/compose/rollups/docker-compose-anvil.yaml +15 -0
- package/dist/{node → compose/rollups}/docker-compose-bundler.yaml +14 -25
- package/dist/{node → compose/rollups}/docker-compose-database.yaml +4 -2
- package/dist/compose/rollups/docker-compose-espresso.yaml +103 -0
- package/dist/{node → compose/rollups}/docker-compose-explorer.yaml +23 -37
- package/dist/compose/rollups/docker-compose-graphql.yaml +52 -0
- package/dist/compose/rollups/docker-compose-node-cpus.yaml +7 -0
- package/dist/compose/rollups/docker-compose-node-memory.yaml +6 -0
- package/dist/compose/rollups/docker-compose-node.yaml +39 -0
- package/dist/compose/rollups/docker-compose-paymaster.yaml +21 -0
- package/dist/compose/rollups/docker-compose-proxy.yaml +22 -0
- package/dist/compose/rollups/proxy/bundler.yaml +17 -0
- package/dist/compose/rollups/proxy/espresso-reader.yaml +17 -0
- package/dist/compose/rollups/proxy/espresso.yaml +56 -0
- package/dist/compose/rollups/proxy/explorer-api.yaml +17 -0
- package/dist/compose/rollups/proxy/explorer.yaml +10 -0
- package/dist/compose/rollups/proxy/graphql.yaml +10 -0
- package/dist/compose/rollups/proxy/paymaster.yaml +17 -0
- package/dist/compose/rollups/proxy/rollups-node.yaml +17 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +1 -1
- package/dist/contracts.d.ts.map +1 -1
- package/dist/exec/cartesi-machine.d.ts.map +1 -1
- package/dist/exec/crane.d.ts +1 -1
- package/dist/exec/crane.d.ts.map +1 -1
- package/dist/exec/genext2fs.d.ts.map +1 -1
- package/dist/exec/mksquashfs.d.ts.map +1 -1
- package/dist/exec/rollups.d.ts +17 -0
- package/dist/exec/rollups.d.ts.map +1 -0
- package/dist/exec/rollups.js +40 -0
- package/dist/exec/util.d.ts +1 -1
- package/dist/exec/util.d.ts.map +1 -1
- package/dist/index.js +23 -21
- package/dist/machine.d.ts.map +1 -1
- package/dist/prompts.d.ts.map +1 -1
- package/dist/wallet.d.ts.map +1 -1
- package/dist/wallet.js +29 -6
- package/package.json +23 -21
- package/dist/node/DockerfileDeploy.txt +0 -4
- package/dist/node/default.env +0 -27
- package/dist/node/docker-compose-anvil.yaml +0 -50
- package/dist/node/docker-compose-envfile.yaml +0 -4
- package/dist/node/docker-compose-espresso.yaml +0 -127
- package/dist/node/docker-compose-host.yaml +0 -30
- package/dist/node/docker-compose-paymaster.yaml +0 -33
- package/dist/node/docker-compose-prompt.yaml +0 -17
- package/dist/node/docker-compose-proxy.yaml +0 -48
- package/dist/node/docker-compose-snapshot-volume.yaml +0 -8
- package/dist/node/docker-compose-validator-cpus.yaml +0 -6
- package/dist/node/docker-compose-validator-memory.yaml +0 -6
- package/dist/node/docker-compose-validator.yaml +0 -59
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { execa } from "execa";
|
|
2
|
+
import { getMachineHash } from "../base.js";
|
|
3
|
+
export const getDeployments = async (options) => {
|
|
4
|
+
const environmentName = options?.environmentName ?? "cartesi-rollups";
|
|
5
|
+
try {
|
|
6
|
+
const { stdout } = await execa("docker", [
|
|
7
|
+
"compose",
|
|
8
|
+
"--project-name",
|
|
9
|
+
environmentName,
|
|
10
|
+
"exec",
|
|
11
|
+
"rollups-node",
|
|
12
|
+
"cartesi-rollups-cli",
|
|
13
|
+
"app",
|
|
14
|
+
"list",
|
|
15
|
+
]);
|
|
16
|
+
return JSON.parse(stdout).map((deployment) => ({
|
|
17
|
+
id: deployment.ID,
|
|
18
|
+
name: deployment.Name,
|
|
19
|
+
address: deployment.IApplicationAddress,
|
|
20
|
+
templateHash: deployment.TemplateHash,
|
|
21
|
+
epochLength: deployment.EpochLength,
|
|
22
|
+
state: deployment.State,
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
catch (e) {
|
|
26
|
+
return [];
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
export const getApplicationDeployment = async (options) => {
|
|
30
|
+
const machineHash = getMachineHash();
|
|
31
|
+
if (!machineHash) {
|
|
32
|
+
return undefined;
|
|
33
|
+
}
|
|
34
|
+
const deployments = await getDeployments(options);
|
|
35
|
+
return deployments.find((deployment) => deployment.templateHash === machineHash);
|
|
36
|
+
};
|
|
37
|
+
export const getApplicationAddress = async () => {
|
|
38
|
+
const deployment = await getApplicationDeployment();
|
|
39
|
+
return deployment?.address;
|
|
40
|
+
};
|
package/dist/exec/util.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ export declare const execaDockerFallback: (command: string, args: readonly strin
|
|
|
27
27
|
* @returns return of execa
|
|
28
28
|
*/
|
|
29
29
|
export type SpawnOptionsDockerFallback = SpawnSyncOptions & DockerFallbackOptions;
|
|
30
|
-
export declare const spawnSyncDockerFallback: (command: string, args: readonly string[], options: SpawnOptionsDockerFallback) => import("child_process").SpawnSyncReturns<string | Buffer
|
|
30
|
+
export declare const spawnSyncDockerFallback: (command: string, args: readonly string[], options: SpawnOptionsDockerFallback) => import("child_process").SpawnSyncReturns<string | Buffer<ArrayBufferLike>> | {
|
|
31
31
|
error: {
|
|
32
32
|
code: string;
|
|
33
33
|
};
|
package/dist/exec/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/exec/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AAGnD,MAAM,MAAM,qBAAqB,GAC3B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,IAAI,CAAA;CAAE,GACpC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,qBAAqB,CAAC;AACzE,eAAO,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/exec/util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAqB,OAAO,EAAE,MAAM,OAAO,CAAC;AAGnD,MAAM,MAAM,qBAAqB,GAC3B;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,IAAI,CAAA;CAAE,GACpC;IAAE,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,OAAO,GAAG,qBAAqB,CAAC;AACzE,eAAO,MAAM,mBAAmB,GAC5B,SAAS,MAAM,EACf,MAAM,SAAS,MAAM,EAAE,EACvB,SAAS,0BAA0B;YAbvB,MAAM;kBAAgB,KAAK;GAoD1C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,0BAA0B,GAAG,gBAAgB,GACrD,qBAAqB,CAAC;AAC1B,eAAO,MAAM,uBAAuB,GAChC,SAAS,MAAM,EACf,MAAM,SAAS,MAAM,EAAE,EACvB,SAAS,0BAA0B;;;;;CA8CtC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,16 +1,17 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { Command } from "@commander-js/extra-typings";
|
|
3
3
|
import { createRequire } from "node:module";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
4
|
+
import { createAddressBookCommand } from "./commands/address-book.js";
|
|
5
|
+
import { createBuildCommand } from "./commands/build.js";
|
|
6
|
+
import { createCleanCommand } from "./commands/clean.js";
|
|
7
|
+
import { createCreateCommand } from "./commands/create.js";
|
|
8
|
+
import { createDeployCommand } from "./commands/deploy.js";
|
|
9
|
+
import { createDoctorCommand } from "./commands/doctor.js";
|
|
10
|
+
import { createHashCommand } from "./commands/hash.js";
|
|
11
|
+
import { createRollupsCommand } from "./commands/rollups.js";
|
|
12
|
+
import { createRunCommand } from "./commands/run.js";
|
|
13
|
+
import { createSendCommand } from "./commands/send.js";
|
|
14
|
+
import { createShellCommand } from "./commands/shell.js";
|
|
14
15
|
// Use `createRequire` to import JSON in ESM
|
|
15
16
|
const require = createRequire(import.meta.url);
|
|
16
17
|
const pkg = require("../package.json");
|
|
@@ -26,17 +27,18 @@ const splash = String.raw ` .
|
|
|
26
27
|
const program = new Command()
|
|
27
28
|
.name("cartesi")
|
|
28
29
|
.version(pkg.version)
|
|
29
|
-
.addHelpText("before", splash)
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
.addHelpText("before", splash)
|
|
31
|
+
.addCommand(createAddressBookCommand())
|
|
32
|
+
.addCommand(createBuildCommand())
|
|
33
|
+
.addCommand(createCleanCommand())
|
|
34
|
+
.addCommand(createCreateCommand())
|
|
35
|
+
.addCommand(createDeployCommand(), { hidden: true })
|
|
36
|
+
.addCommand(createDoctorCommand())
|
|
37
|
+
.addCommand(createHashCommand())
|
|
38
|
+
.addCommand(createRollupsCommand())
|
|
39
|
+
.addCommand(createRunCommand(), { hidden: true })
|
|
40
|
+
.addCommand(createSendCommand())
|
|
41
|
+
.addCommand(createShellCommand());
|
|
40
42
|
// Global error handling
|
|
41
43
|
process.on("uncaughtException", (err) => {
|
|
42
44
|
if (process.env.NODE_ENV === "development") {
|
package/dist/machine.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAoB7D,eAAO,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"machine.d.ts","sourceRoot":"","sources":["../src/machine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAe,SAAS,EAAE,MAAM,aAAa,CAAC;AAoB7D,eAAO,MAAM,WAAW,GACpB,QAAQ,MAAM,EACd,MAAM,SAAS,GAAG,SAAS,EAC3B,aAAa,MAAM;;;GAwFtB,CAAC"}
|
package/dist/prompts.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EACH,OAAO,EACP,GAAG,EASN,MAAM,MAAM,CAAC;AAEd,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,KAAK,YAAY,CAAC,SAAS,IAAI,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACtE,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../src/prompts.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,MAAM,iBAAiB,CAAC;AACpC,OAAO,MAAM,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC,OAAO,EACH,OAAO,EACP,GAAG,EASN,MAAM,MAAM,CAAC;AAEd,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,KAAK,YAAY,CAAC,SAAS,IAAI,UAAU,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAEvE;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AACtE,eAAO,MAAM,YAAY,GACrB,QAAQ,mBAAmB,KAC5B,OAAO,CAAC,OAAO,CAMjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAAE,OAAO,CAAC,EAAE,GAAG,CAAA;CAAE,CAAC;AAC9D,eAAO,MAAM,QAAQ,GAAU,QAAQ,eAAe,KAAG,OAAO,CAAC,GAAG,CAMnE,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AACF,eAAO,MAAM,WAAW,GACpB,QAAQ,kBAAkB,KAC3B,OAAO,CAAC,MAAM,CAUhB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU,GACnB,QAAQ,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC,GAAG,CA8Cb,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GACvB,QAAQ,WAAW,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,KAC1C,OAAO,CAAC,KAAK,MAAM,EAAE,CA+DvB,CAAC;AAGF,MAAM,MAAM,MAAM,CAAC,SAAS,IAAI;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,KAAK,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,GAAG;IAChE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC,CAAC;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,SAAS,EAChC,QAAQ,gBAAgB,CAAC,SAAS,CAAC,GAAG;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,EACnE,UAAU,OAAO,GAAG,SAAS,KAC9B,OAAO,CAAC,SAAS,CAsBnB,CAAC"}
|
package/dist/wallet.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,OAAO,EACP,KAAK,EACL,GAAG,EAEH,YAAY,EAEZ,YAAY,EAKf,MAAM,MAAM,CAAC;AAiBd,MAAM,MAAM,sBAAsB,GAAG;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../src/wallet.ts"],"names":[],"mappings":"AAEA,OAAO,EAEH,OAAO,EACP,KAAK,EACL,GAAG,EAEH,YAAY,EAEZ,YAAY,EAKf,MAAM,MAAM,CAAC;AAiBd,MAAM,MAAM,sBAAsB,GAAG;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,UAAU,sBAAsB,KAAG,KAAK,EAoBvE,CAAC;AAEF,eAAO,MAAM,uBAAuB,gEAC6B,CAAC;AAElE,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAiCpD,MAAM,WAAW,qBAAqB;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,GAAG,CAAC;CACpB;AAED,MAAM,MAAM,iBAAiB,GAAG,CAC5B,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,KACzB,OAAO,CAAC,OAAO,CAAC,CAAC;AA0LtB,QAAA,MAAM,aAAa,GACf,SAAS,qBAAqB,KAC/B,OAAO,CAAC;IACP,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC9B,CAuBA,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
package/dist/wallet.js
CHANGED
|
@@ -2,7 +2,7 @@ import input from "@inquirer/input";
|
|
|
2
2
|
import chalk from "chalk";
|
|
3
3
|
import { formatUnits, http, createPublicClient as viemCreatePublicClient, createWalletClient as viemCreateWalletClient, } from "viem";
|
|
4
4
|
import { mnemonicToAccount, privateKeyToAccount } from "viem/accounts";
|
|
5
|
-
import { arbitrum, arbitrumSepolia, base, baseSepolia,
|
|
5
|
+
import { anvil, arbitrum, arbitrumSepolia, base, baseSepolia, mainnet, optimism, optimismSepolia, sepolia, } from "viem/chains";
|
|
6
6
|
import { hexInput, selectAuto } from "./prompts.js";
|
|
7
7
|
export const supportedChains = (options) => {
|
|
8
8
|
options = options || {
|
|
@@ -14,7 +14,7 @@ export const supportedChains = (options) => {
|
|
|
14
14
|
options.includeMainnets = options.includeMainnets ?? true; // default is true if not specified
|
|
15
15
|
const chains = [];
|
|
16
16
|
if (options.includeDevnet) {
|
|
17
|
-
chains.push(
|
|
17
|
+
chains.push(anvil);
|
|
18
18
|
}
|
|
19
19
|
if (options.includeTestnets) {
|
|
20
20
|
chains.push(arbitrumSepolia, baseSepolia, optimismSepolia, sepolia);
|
|
@@ -26,7 +26,7 @@ export const supportedChains = (options) => {
|
|
|
26
26
|
};
|
|
27
27
|
export const DEFAULT_DEVNET_MNEMONIC = "test test test test test test test test test test test junk";
|
|
28
28
|
const walletChoices = (chain) => {
|
|
29
|
-
const dev = chain.id ===
|
|
29
|
+
const dev = chain.id === anvil.id;
|
|
30
30
|
return [
|
|
31
31
|
{
|
|
32
32
|
name: `Mnemonic${dev ? "" : chalk.red(" (UNSAFE)")}`,
|
|
@@ -38,8 +38,26 @@ const walletChoices = (chain) => {
|
|
|
38
38
|
},
|
|
39
39
|
];
|
|
40
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* Test if the default RPC URL for a chain is working
|
|
43
|
+
* @param chain chain to test
|
|
44
|
+
* @returns true if the default RPC URL is valid, false otherwise
|
|
45
|
+
*/
|
|
46
|
+
const testDefaultPublicClient = async (chain) => {
|
|
47
|
+
try {
|
|
48
|
+
const publicClient = viemCreatePublicClient({
|
|
49
|
+
transport: http(chain.rpcUrls.default.http[0]),
|
|
50
|
+
chain,
|
|
51
|
+
});
|
|
52
|
+
const chainId = await publicClient.getChainId();
|
|
53
|
+
return chainId === chain.id;
|
|
54
|
+
}
|
|
55
|
+
catch (e) {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
};
|
|
41
59
|
const selectChain = async (options) => {
|
|
42
|
-
// if development mode, include
|
|
60
|
+
// if development mode, include anvil as an option
|
|
43
61
|
const chains = supportedChains({ includeDevnet: true });
|
|
44
62
|
if (options.chain) {
|
|
45
63
|
const chain = options.chain;
|
|
@@ -68,9 +86,14 @@ const selectTransport = async (options, chain) => {
|
|
|
68
86
|
return http(options.rpcUrl);
|
|
69
87
|
}
|
|
70
88
|
else {
|
|
89
|
+
const defaultUrl = chain.rpcUrls.default.http[0];
|
|
90
|
+
// if the chain is anvil and the default URL is valid, use it without asking the user
|
|
91
|
+
if (chain.id === anvil.id && (await testDefaultPublicClient(chain))) {
|
|
92
|
+
return http(defaultUrl);
|
|
93
|
+
}
|
|
71
94
|
const url = await input({
|
|
72
95
|
message: "RPC URL",
|
|
73
|
-
default:
|
|
96
|
+
default: defaultUrl,
|
|
74
97
|
});
|
|
75
98
|
return http(url);
|
|
76
99
|
}
|
|
@@ -142,7 +165,7 @@ const createWalletClient = async (options, chain, publicClient, publicTransport)
|
|
|
142
165
|
// use the publicClient transport
|
|
143
166
|
const mnemonic = await input({
|
|
144
167
|
message: "Mnemonic",
|
|
145
|
-
default: chain.id ===
|
|
168
|
+
default: chain.id === anvil.id ? DEFAULT_DEVNET_MNEMONIC : undefined,
|
|
146
169
|
});
|
|
147
170
|
// select account from mnemonic
|
|
148
171
|
if (options.mnemonicIndex) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cartesi/cli",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.6",
|
|
4
4
|
"description": "Cartesi CLI",
|
|
5
5
|
"author": "Danilo Tuler <tuler@pobox.com>",
|
|
6
6
|
"bin": {
|
|
@@ -18,47 +18,49 @@
|
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@commander-js/extra-typings": "^13.1.0",
|
|
21
|
-
"@inquirer/confirm": "^5.
|
|
22
|
-
"@inquirer/core": "^10.
|
|
23
|
-
"@inquirer/input": "^4.
|
|
24
|
-
"@inquirer/select": "^4.0.
|
|
25
|
-
"@inquirer/type": "^3.0.
|
|
21
|
+
"@inquirer/confirm": "^5.1.6",
|
|
22
|
+
"@inquirer/core": "^10.1.7",
|
|
23
|
+
"@inquirer/input": "^4.1.6",
|
|
24
|
+
"@inquirer/select": "^4.0.9",
|
|
25
|
+
"@inquirer/type": "^3.0.4",
|
|
26
26
|
"bytes": "^3.1.2",
|
|
27
|
-
"chalk": "^5.
|
|
27
|
+
"chalk": "^5.4.1",
|
|
28
28
|
"cli-table3": "^0.6.5",
|
|
29
29
|
"commander": "^13.1.0",
|
|
30
|
-
"execa": "^9.
|
|
31
|
-
"fs-extra": "^11.
|
|
32
|
-
"giget": "^
|
|
33
|
-
"
|
|
30
|
+
"execa": "^9.5.2",
|
|
31
|
+
"fs-extra": "^11.3.0",
|
|
32
|
+
"giget": "^2.0.0",
|
|
33
|
+
"listr2": "^8.2.5",
|
|
34
|
+
"lookpath": "^1.2.3",
|
|
34
35
|
"open": "^10.1.0",
|
|
35
|
-
"ora": "^8.
|
|
36
|
+
"ora": "^8.2.0",
|
|
37
|
+
"p-retry": "^6.2.1",
|
|
36
38
|
"progress-stream": "^2.0.0",
|
|
37
|
-
"semver": "^7.
|
|
38
|
-
"smol-toml": "^1.3.
|
|
39
|
+
"semver": "^7.7.1",
|
|
40
|
+
"smol-toml": "^1.3.1",
|
|
39
41
|
"tmp": "^0.2.3",
|
|
40
|
-
"viem": "^2.
|
|
42
|
+
"viem": "^2.23.6"
|
|
41
43
|
},
|
|
42
44
|
"devDependencies": {
|
|
43
45
|
"@sunodo/wagmi-plugin-hardhat-deploy": "^0.3.0",
|
|
44
|
-
"@types/bytes": "^3.1.
|
|
46
|
+
"@types/bytes": "^3.1.5",
|
|
45
47
|
"@types/fs-extra": "^11.0.4",
|
|
46
48
|
"@types/inquirer": "^9.0.7",
|
|
47
|
-
"@types/node": "^22.
|
|
48
|
-
"@types/node-fetch": "^2.6.
|
|
49
|
+
"@types/node": "^22.13.9",
|
|
50
|
+
"@types/node-fetch": "^2.6.12",
|
|
49
51
|
"@types/progress-stream": "^2.0.5",
|
|
50
52
|
"@types/prompts": "^2.4.9",
|
|
51
53
|
"@types/semver": "^7.5.8",
|
|
52
54
|
"@types/tmp": "^0.2.6",
|
|
53
55
|
"@vitest/coverage-istanbul": "^2.1.3",
|
|
54
|
-
"@wagmi/cli": "^2.
|
|
56
|
+
"@wagmi/cli": "^2.2.0",
|
|
55
57
|
"copyfiles": "^2.4.1",
|
|
56
58
|
"eslint": "^8.57.0",
|
|
57
59
|
"npm-run-all": "^4.1.5",
|
|
58
60
|
"rimraf": "^6.0.1",
|
|
59
61
|
"ts-node": "^10.9.2",
|
|
60
|
-
"tslib": "^2.8.
|
|
61
|
-
"typescript": "^5.
|
|
62
|
+
"tslib": "^2.8.1",
|
|
63
|
+
"typescript": "^5.8.2",
|
|
62
64
|
"vitest": "^2.1.3",
|
|
63
65
|
"@cartesi/devnet": "2.0.0-alpha.3",
|
|
64
66
|
"@cartesi/eslint-config": "0.0.0",
|
package/dist/node/default.env
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# cartesi/rollups-node
|
|
2
|
-
CARTESI_LOG_LEVEL="${CARTESI_LOG_LEVEL:-error}"
|
|
3
|
-
CARTESI_HTTP_ADDRESS="${CARTESI_HTTP_ADDRESS:-0.0.0.0}"
|
|
4
|
-
CARTESI_HTTP_PORT="${CARTESI_HTTP_PORT:-10000}"
|
|
5
|
-
CARTESI_FEATURE_HOST_MODE="${CARTESI_FEATURE_HOST_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
|
-
CARTESI_FEATURE_DISABLE_MACHINE_HASH_CHECK="${CARTESI_FEATURE_DISABLE_MACHINE_HASH_CHECK:-true}"
|
|
9
|
-
CARTESI_EPOCH_LENGTH="${CARTESI_EPOCH_LENGTH:-720}"
|
|
10
|
-
CARTESI_BLOCKCHAIN_ID="${CARTESI_BLOCKCHAIN_ID:-31337}"
|
|
11
|
-
CARTESI_BLOCKCHAIN_HTTP_ENDPOINT="${CARTESI_BLOCKCHAIN_HTTP_ENDPOINT:-http://anvil:8545}"
|
|
12
|
-
CARTESI_BLOCKCHAIN_WS_ENDPOINT="${CARTESI_BLOCKCHAIN_WS_ENDPOINT:-ws://anvil:8545}"
|
|
13
|
-
CARTESI_BLOCKCHAIN_IS_LEGACY="${CARTESI_BLOCKCHAIN_IS_LEGACY:-false}"
|
|
14
|
-
CARTESI_BLOCKCHAIN_FINALITY_OFFSET="${CARTESI_BLOCKCHAIN_FINALITY_OFFSET:-0}"
|
|
15
|
-
CARTESI_BLOCKCHAIN_BLOCK_TIMEOUT="${CARTESI_BLOCKCHAIN_BLOCK_TIMEOUT:-60}"
|
|
16
|
-
CARTESI_CONTRACTS_APPLICATION_ADDRESS="${CARTESI_CONTRACTS_APPLICATION_ADDRESS:-0xab7528bb862fb57e8a2bcd567a2e929a0be56a5e}"
|
|
17
|
-
CARTESI_CONTRACTS_INPUT_BOX_DEPLOYMENT_BLOCK_NUMBER="${CARTESI_CONTRACTS_INPUT_BOX_DEPLOYMENT_BLOCK_NUMBER:-22}"
|
|
18
|
-
CARTESI_CONTRACTS_HISTORY_ADDRESS="${CARTESI_CONTRACTS_HISTORY_ADDRESS:-0x325272217ae6815b494bf38ced004c5eb8a7cda7}"
|
|
19
|
-
CARTESI_CONTRACTS_AUTHORITY_ADDRESS="${CARTESI_CONTRACTS_AUTHORITY_ADDRESS:-0x58c93f83fb3304730c95aad2e360cdb88b782010}"
|
|
20
|
-
CARTESI_CONTRACTS_INPUT_BOX_ADDRESS="${CARTESI_CONTRACTS_INPUT_BOX_ADDRESS:-0x59b22D57D4f067708AB0c00552767405926dc768}"
|
|
21
|
-
CARTESI_SNAPSHOT_DIR="${CARTESI_SNAPSHOT_DIR:-/usr/share/cartesi/snapshot}"
|
|
22
|
-
CARTESI_AUTH_MNEMONIC="${CARTESI_AUTH_MNEMONIC:-test test test test test test test test test test test junk}"
|
|
23
|
-
CARTESI_POSTGRES_ENDPOINT="${CARTESI_POSTGRES_ENDPOINT:-postgres://postgres:password@database:5432/postgres}"
|
|
24
|
-
CARTESI_EXPERIMENTAL_SERVER_MANAGER_BYPASS_LOG="${CARTESI_EXPERIMENTAL_SERVER_MANAGER_BYPASS_LOG:-false}"
|
|
25
|
-
|
|
26
|
-
# server-manager
|
|
27
|
-
SM_DEADLINE_MACHINE="${SM_DEADLINE_MACHINE:-30000}"
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
anvil:
|
|
3
|
-
image: cartesi/sdk:0.12.0-alpha.3
|
|
4
|
-
command:
|
|
5
|
-
[
|
|
6
|
-
"devnet",
|
|
7
|
-
"--block-time",
|
|
8
|
-
"${BLOCK_TIME:-5}",
|
|
9
|
-
"${ANVIL_VERBOSITY:---silent}",
|
|
10
|
-
]
|
|
11
|
-
healthcheck:
|
|
12
|
-
test: ["CMD", "eth_isready"]
|
|
13
|
-
interval: 10s
|
|
14
|
-
timeout: 1s
|
|
15
|
-
retries: 5
|
|
16
|
-
environment:
|
|
17
|
-
ANVIL_IP_ADDR: 0.0.0.0
|
|
18
|
-
ports:
|
|
19
|
-
- 8545:8545
|
|
20
|
-
|
|
21
|
-
dapp_deployer:
|
|
22
|
-
image: cartesi/sdk:0.12.0-alpha.3
|
|
23
|
-
restart: on-failure
|
|
24
|
-
depends_on:
|
|
25
|
-
anvil:
|
|
26
|
-
condition: service_started
|
|
27
|
-
command:
|
|
28
|
-
[
|
|
29
|
-
"cast",
|
|
30
|
-
"send",
|
|
31
|
-
"--rpc-url",
|
|
32
|
-
"http://anvil:8545",
|
|
33
|
-
"--private-key",
|
|
34
|
-
"0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80",
|
|
35
|
-
"0x4C11C7F82D6D56a726f9B53dd99af031AFd86BB6",
|
|
36
|
-
"deployContracts(address,address,bytes32,bytes32)",
|
|
37
|
-
"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
38
|
-
"720",
|
|
39
|
-
"0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266",
|
|
40
|
-
"0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
41
|
-
"0x0000000000000000000000000000000000000000000000000000000000000000",
|
|
42
|
-
]
|
|
43
|
-
|
|
44
|
-
prompt:
|
|
45
|
-
image: debian:bookworm-slim
|
|
46
|
-
environment:
|
|
47
|
-
PROMPT_TXT_01_ANVIL: "Anvil running at http://localhost:8545"
|
|
48
|
-
|
|
49
|
-
volumes:
|
|
50
|
-
blockchain-data: {}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
espresso_database_creator:
|
|
3
|
-
image: postgres:16-alpine
|
|
4
|
-
command: ["createdb", "sequencer"]
|
|
5
|
-
depends_on:
|
|
6
|
-
database:
|
|
7
|
-
condition: service_healthy
|
|
8
|
-
environment:
|
|
9
|
-
PGHOST: ${PGHOST:-database}
|
|
10
|
-
PGPORT: ${PGPORT:-5432}
|
|
11
|
-
PGUSER: ${PGUSER:-postgres}
|
|
12
|
-
PGPASSWORD: ${PGPASSWORD:-password}
|
|
13
|
-
PGDATABASE: ${PGDATABASE:-postgres}
|
|
14
|
-
|
|
15
|
-
validator:
|
|
16
|
-
environment:
|
|
17
|
-
CARTESI_FEATURE_INPUT_READER_ENABLED: false
|
|
18
|
-
espresso:
|
|
19
|
-
image: cartesi/sdk:0.12.0-alpha.3
|
|
20
|
-
command: ["/usr/local/bin/espresso-dev-node"]
|
|
21
|
-
deploy:
|
|
22
|
-
resources:
|
|
23
|
-
limits:
|
|
24
|
-
cpus: "4"
|
|
25
|
-
memory: "1G"
|
|
26
|
-
ports:
|
|
27
|
-
- 8770:8770
|
|
28
|
-
- 8771:8771
|
|
29
|
-
- 8772:8772
|
|
30
|
-
- 20000:20000
|
|
31
|
-
depends_on:
|
|
32
|
-
espresso_database_creator:
|
|
33
|
-
condition: service_completed_successfully
|
|
34
|
-
database:
|
|
35
|
-
condition: service_healthy
|
|
36
|
-
environment:
|
|
37
|
-
ESPRESSO_SEQUENCER_L1_PROVIDER: ${CARTESI_BLOCKCHAIN_HTTP_ENDPOINT:-http://anvil:8545}
|
|
38
|
-
ESPRESSO_SEQUENCER_API_PORT: 8770
|
|
39
|
-
ESPRESSO_BUILDER_PORT: 8771
|
|
40
|
-
ESPRESSO_PROVER_PORT: 8772
|
|
41
|
-
ESPRESSO_DEV_NODE_PORT: 20000
|
|
42
|
-
ESPRESSO_SEQUENCER_POSTGRES_HOST: database
|
|
43
|
-
ESPRESSO_SEQUENCER_POSTGRES_PORT: 5432
|
|
44
|
-
ESPRESSO_SEQUENCER_POSTGRES_USER: postgres
|
|
45
|
-
ESPRESSO_SEQUENCER_POSTGRES_PASSWORD: password
|
|
46
|
-
ESPRESSO_SEQUENCER_POSTGRES_DATABASE: sequencer
|
|
47
|
-
ESPRESSO_SEQUENCER_ETH_MNEMONIC: ${CARTESI_AUTH_MNEMONIC:-test test test test test test test test test test test junk}
|
|
48
|
-
|
|
49
|
-
prompt:
|
|
50
|
-
image: debian:bookworm-slim
|
|
51
|
-
environment:
|
|
52
|
-
PROMPT_TXT_07_ESPRESSO: "Espresso running at http://localhost:${CARTESI_LISTEN_PORT}/espresso/"
|
|
53
|
-
|
|
54
|
-
traefik-config-generator:
|
|
55
|
-
environment:
|
|
56
|
-
TRAEFIK_CONFIG_ESPRESSO_DEV: |
|
|
57
|
-
http:
|
|
58
|
-
routers:
|
|
59
|
-
espresso-dev:
|
|
60
|
-
rule: "PathPrefix(`/espresso/dev`)"
|
|
61
|
-
middlewares:
|
|
62
|
-
- "remove-espresso-dev-prefix"
|
|
63
|
-
service: espresso-dev
|
|
64
|
-
middlewares:
|
|
65
|
-
remove-espresso-dev-prefix:
|
|
66
|
-
replacePathRegex:
|
|
67
|
-
regex: "^/espresso/dev/(.*)"
|
|
68
|
-
replacement: "/$1"
|
|
69
|
-
services:
|
|
70
|
-
espresso-dev:
|
|
71
|
-
loadBalancer:
|
|
72
|
-
servers:
|
|
73
|
-
- url: "http://espresso:20000"
|
|
74
|
-
TRAEFIK_CONFIG_ESPRESSO_SEQUENCER: |
|
|
75
|
-
http:
|
|
76
|
-
routers:
|
|
77
|
-
espresso-sequencer:
|
|
78
|
-
rule: "PathPrefix(`/espresso/sequencer`)"
|
|
79
|
-
middlewares:
|
|
80
|
-
- "remove-espresso-sequencer-prefix"
|
|
81
|
-
service: espresso-sequencer
|
|
82
|
-
middlewares:
|
|
83
|
-
remove-espresso-sequencer-prefix:
|
|
84
|
-
replacePathRegex:
|
|
85
|
-
regex: "^/espresso/sequencer/(.*)"
|
|
86
|
-
replacement: "/$1"
|
|
87
|
-
services:
|
|
88
|
-
espresso-sequencer:
|
|
89
|
-
loadBalancer:
|
|
90
|
-
servers:
|
|
91
|
-
- url: "http://espresso:8770"
|
|
92
|
-
TRAEFIK_CONFIG_ESPRESSO_BUILDER: |
|
|
93
|
-
http:
|
|
94
|
-
routers:
|
|
95
|
-
espresso-builder:
|
|
96
|
-
rule: "PathPrefix(`/espresso/builder`)"
|
|
97
|
-
middlewares:
|
|
98
|
-
- "remove-espresso-builder-prefix"
|
|
99
|
-
service: espresso-builder
|
|
100
|
-
middlewares:
|
|
101
|
-
remove-espresso-builder-prefix:
|
|
102
|
-
replacePathRegex:
|
|
103
|
-
regex: "^/espresso/builder/(.*)"
|
|
104
|
-
replacement: "/$1"
|
|
105
|
-
services:
|
|
106
|
-
espresso-builder:
|
|
107
|
-
loadBalancer:
|
|
108
|
-
servers:
|
|
109
|
-
- url: "http://espresso:8771"
|
|
110
|
-
TRAEFIK_CONFIG_ESPRESSO_PROVER: |
|
|
111
|
-
http:
|
|
112
|
-
routers:
|
|
113
|
-
espresso-prover:
|
|
114
|
-
rule: "PathPrefix(`/espresso/prover`)"
|
|
115
|
-
middlewares:
|
|
116
|
-
- "remove-espresso-prover-prefix"
|
|
117
|
-
service: espresso-prover
|
|
118
|
-
middlewares:
|
|
119
|
-
remove-espresso-prover-prefix:
|
|
120
|
-
replacePathRegex:
|
|
121
|
-
regex: "^/espresso/prover/(.*)"
|
|
122
|
-
replacement: "/$1"
|
|
123
|
-
services:
|
|
124
|
-
espresso-prover:
|
|
125
|
-
loadBalancer:
|
|
126
|
-
servers:
|
|
127
|
-
- url: "http://espresso:8772"
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
validator:
|
|
3
|
-
environment:
|
|
4
|
-
CARTESI_FEATURE_HOST_MODE: true
|
|
5
|
-
command: ["cartesi-rollups-node"]
|
|
6
|
-
|
|
7
|
-
traefik-config-generator:
|
|
8
|
-
environment:
|
|
9
|
-
TRAEFIK_CONFIG_HOST_RUNNER: |
|
|
10
|
-
http:
|
|
11
|
-
routers:
|
|
12
|
-
host-runner:
|
|
13
|
-
rule: "PathPrefix(`/host-runner`)"
|
|
14
|
-
middlewares:
|
|
15
|
-
- "replace-host-runner-prefix"
|
|
16
|
-
service: host-runner
|
|
17
|
-
middlewares:
|
|
18
|
-
replace-host-runner-prefix:
|
|
19
|
-
replacePathRegex:
|
|
20
|
-
regex: "^/host-runner/(.*)"
|
|
21
|
-
replacement: "/rollup/$1"
|
|
22
|
-
services:
|
|
23
|
-
host-runner:
|
|
24
|
-
loadBalancer:
|
|
25
|
-
servers:
|
|
26
|
-
- url: "http://validator:10000"
|
|
27
|
-
|
|
28
|
-
prompt:
|
|
29
|
-
environment:
|
|
30
|
-
PROMPT_TXT_05_HOST_RUNNER: "Host Runner running at http://localhost:${CARTESI_LISTEN_PORT}/host-runner"
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
mock-verifying-paymaster:
|
|
3
|
-
image: cartesi/sdk:0.12.0-alpha.3
|
|
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"
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
prompt:
|
|
3
|
-
image: debian:bookworm-slim
|
|
4
|
-
environment:
|
|
5
|
-
PROMPT_TXT_10_EXIT: "Press Ctrl+C to stop the node"
|
|
6
|
-
command:
|
|
7
|
-
- /bin/bash
|
|
8
|
-
- -c
|
|
9
|
-
- |
|
|
10
|
-
for txt_file in $${!PROMPT_TXT_*}
|
|
11
|
-
do
|
|
12
|
-
declare -n txt_content=$$txt_file
|
|
13
|
-
_txt_file=$${txt_file:11}
|
|
14
|
-
echo "$$txt_content"
|
|
15
|
-
done
|
|
16
|
-
trap exit INT TERM; sleep infinity & wait
|
|
17
|
-
working_dir: /prompt
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
services:
|
|
2
|
-
traefik-config-generator:
|
|
3
|
-
image: debian:bookworm-slim
|
|
4
|
-
command:
|
|
5
|
-
- /bin/bash
|
|
6
|
-
- -c
|
|
7
|
-
- |
|
|
8
|
-
for cfg_file in $${!TRAEFIK_CONFIG_*}
|
|
9
|
-
do
|
|
10
|
-
declare -n cfg_content=$$cfg_file
|
|
11
|
-
_cfg_file=$${cfg_file:15}
|
|
12
|
-
echo "$$cfg_content" > /etc/traefik/conf.d/$${_cfg_file,,}.yaml
|
|
13
|
-
done
|
|
14
|
-
volumes:
|
|
15
|
-
- traefik-conf:/etc/traefik/conf.d
|
|
16
|
-
|
|
17
|
-
proxy:
|
|
18
|
-
image: traefik:v2.10
|
|
19
|
-
depends_on:
|
|
20
|
-
traefik-config-generator:
|
|
21
|
-
condition: service_completed_successfully
|
|
22
|
-
healthcheck:
|
|
23
|
-
test: ["CMD", "traefik", "healthcheck", "--ping"]
|
|
24
|
-
interval: 5s
|
|
25
|
-
timeout: 1s
|
|
26
|
-
retries: 5
|
|
27
|
-
command:
|
|
28
|
-
[
|
|
29
|
-
"--ping=true",
|
|
30
|
-
"--entryPoints.web.address=:8088",
|
|
31
|
-
"--entryPoints.traefik.address=:8080",
|
|
32
|
-
"--metrics.prometheus=true",
|
|
33
|
-
"--metrics.prometheus.addServicesLabels=true",
|
|
34
|
-
"--providers.file.directory=/etc/traefik/conf.d",
|
|
35
|
-
"--providers.file.watch=true",
|
|
36
|
-
]
|
|
37
|
-
ports:
|
|
38
|
-
- ${CARTESI_LISTEN_PORT:-8080}:8088
|
|
39
|
-
volumes:
|
|
40
|
-
- traefik-conf:/etc/traefik/conf.d
|
|
41
|
-
|
|
42
|
-
prompt:
|
|
43
|
-
depends_on:
|
|
44
|
-
proxy:
|
|
45
|
-
condition: service_healthy
|
|
46
|
-
|
|
47
|
-
volumes:
|
|
48
|
-
traefik-conf: {}
|