@cartesi/cli 2.0.0-alpha.6 → 2.0.0-alpha.8

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.
Files changed (31) hide show
  1. package/dist/commands/create.d.ts +1 -1
  2. package/dist/commands/create.d.ts.map +1 -1
  3. package/dist/commands/create.js +1 -1
  4. package/dist/commands/rollups/deploy.d.ts.map +1 -1
  5. package/dist/commands/rollups/deploy.js +21 -9
  6. package/dist/commands/rollups/start.d.ts.map +1 -1
  7. package/dist/commands/rollups/start.js +20 -18
  8. package/dist/commands/send.js +1 -1
  9. package/dist/compose/rollups/default.env +6 -7
  10. package/dist/compose/rollups/docker-compose-anvil.yaml +4 -2
  11. package/dist/compose/rollups/docker-compose-bundler.yaml +1 -4
  12. package/dist/compose/rollups/docker-compose-database.yaml +1 -1
  13. package/dist/compose/rollups/docker-compose-espresso.yaml +6 -41
  14. package/dist/compose/rollups/docker-compose-explorer.yaml +8 -26
  15. package/dist/compose/rollups/docker-compose-graphql.yaml +3 -32
  16. package/dist/compose/rollups/docker-compose-node.yaml +2 -15
  17. package/dist/compose/rollups/docker-compose-paymaster.yaml +0 -3
  18. package/dist/compose/rollups/docker-compose-proxy.yaml +2 -0
  19. package/dist/compose/rollups/proxy/anvil.yaml +17 -0
  20. package/dist/compose/rollups/proxy/espresso.yaml +8 -47
  21. package/dist/config.d.ts +2 -1
  22. package/dist/config.d.ts.map +1 -1
  23. package/dist/config.js +4 -3
  24. package/dist/contracts.d.ts +1695 -1636
  25. package/dist/contracts.d.ts.map +1 -1
  26. package/dist/contracts.js +632 -592
  27. package/dist/exec/rollups.js +6 -6
  28. package/dist/wallet.d.ts.map +1 -1
  29. package/dist/wallet.js +29 -11
  30. package/package.json +3 -3
  31. package/dist/compose/rollups/proxy/espresso-reader.yaml +0 -17
@@ -14,12 +14,12 @@ export const getDeployments = async (options) => {
14
14
  "list",
15
15
  ]);
16
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,
17
+ id: deployment.id,
18
+ name: deployment.name,
19
+ address: deployment.iapplication_address,
20
+ templateHash: deployment.template_hash,
21
+ epochLength: deployment.epoch_lenght,
22
+ state: deployment.state,
23
23
  }));
24
24
  }
25
25
  catch (e) {
@@ -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,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"}
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;AA2CpD,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;AAoMtB,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 { anvil, arbitrum, arbitrumSepolia, base, baseSepolia, mainnet, optimism, optimismSepolia, sepolia, } from "viem/chains";
5
+ import { arbitrum, arbitrumSepolia, base, baseSepolia, cannon, 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(anvil);
17
+ chains.push(cannon);
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 === anvil.id;
29
+ const dev = chain.id === cannon.id;
30
30
  return [
31
31
  {
32
32
  name: `Mnemonic${dev ? "" : chalk.red(" (UNSAFE)")}`,
@@ -39,14 +39,15 @@ const walletChoices = (chain) => {
39
39
  ];
40
40
  };
41
41
  /**
42
- * Test if the default RPC URL for a chain is working
42
+ * Test if a RPC URL for a chain is working
43
43
  * @param chain chain to test
44
- * @returns true if the default RPC URL is valid, false otherwise
44
+ * @param url url to test
45
+ * @returns true if the RPC URL is valid and chainId matches, false otherwise
45
46
  */
46
- const testDefaultPublicClient = async (chain) => {
47
+ const testChainUrl = async (chain, url) => {
47
48
  try {
48
49
  const publicClient = viemCreatePublicClient({
49
- transport: http(chain.rpcUrls.default.http[0]),
50
+ transport: http(url),
50
51
  chain,
51
52
  });
52
53
  const chainId = await publicClient.getChainId();
@@ -56,6 +57,14 @@ const testDefaultPublicClient = async (chain) => {
56
57
  return false;
57
58
  }
58
59
  };
60
+ /**
61
+ * Test if the default RPC URL for a chain is working
62
+ * @param chain chain to test
63
+ * @returns true if the default RPC URL is valid, false otherwise
64
+ */
65
+ const testDefaultPublicClient = async (chain) => {
66
+ return testChainUrl(chain, chain.rpcUrls.default.http[0]);
67
+ };
59
68
  const selectChain = async (options) => {
60
69
  // if development mode, include anvil as an option
61
70
  const chains = supportedChains({ includeDevnet: true });
@@ -87,9 +96,16 @@ const selectTransport = async (options, chain) => {
87
96
  }
88
97
  else {
89
98
  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);
99
+ // if the chain is cannon and URL is valid, use it without asking the user
100
+ if (chain.id === cannon.id) {
101
+ const port = 8080; // XXX: how to get environment port?
102
+ const url = `http://127.0.0.1:${port}/anvil`;
103
+ if (await testChainUrl(chain, url)) {
104
+ return http(url);
105
+ }
106
+ if (await testDefaultPublicClient(chain)) {
107
+ return http(defaultUrl);
108
+ }
93
109
  }
94
110
  const url = await input({
95
111
  message: "RPC URL",
@@ -165,7 +181,9 @@ const createWalletClient = async (options, chain, publicClient, publicTransport)
165
181
  // use the publicClient transport
166
182
  const mnemonic = await input({
167
183
  message: "Mnemonic",
168
- default: chain.id === anvil.id ? DEFAULT_DEVNET_MNEMONIC : undefined,
184
+ default: chain.id === cannon.id
185
+ ? DEFAULT_DEVNET_MNEMONIC
186
+ : undefined,
169
187
  });
170
188
  // select account from mnemonic
171
189
  if (options.mnemonicIndex) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cartesi/cli",
3
- "version": "2.0.0-alpha.6",
3
+ "version": "2.0.0-alpha.8",
4
4
  "description": "Cartesi CLI",
5
5
  "author": "Danilo Tuler <tuler@pobox.com>",
6
6
  "bin": {
@@ -42,7 +42,8 @@
42
42
  "viem": "^2.23.6"
43
43
  },
44
44
  "devDependencies": {
45
- "@sunodo/wagmi-plugin-hardhat-deploy": "^0.3.0",
45
+ "@cartesi/devnet": "2.0.0-alpha.5",
46
+ "@cartesi/rollups": "2.0.0-rc.17",
46
47
  "@types/bytes": "^3.1.5",
47
48
  "@types/fs-extra": "^11.0.4",
48
49
  "@types/inquirer": "^9.0.7",
@@ -62,7 +63,6 @@
62
63
  "tslib": "^2.8.1",
63
64
  "typescript": "^5.8.2",
64
65
  "vitest": "^2.1.3",
65
- "@cartesi/devnet": "2.0.0-alpha.3",
66
66
  "@cartesi/eslint-config": "0.0.0",
67
67
  "tsconfig": "0.0.0"
68
68
  },
@@ -1,17 +0,0 @@
1
- http:
2
- routers:
3
- espresso-reader:
4
- rule: "PathPrefix(`/espresso/reader`)"
5
- middlewares:
6
- - "remove-espresso-reader-prefix"
7
- service: espresso-reader
8
- middlewares:
9
- remove-espresso-reader-prefix:
10
- replacePathRegex:
11
- regex: "^/espresso/reader/(.*)"
12
- replacement: "/$1"
13
- services:
14
- espresso-reader:
15
- loadBalancer:
16
- servers:
17
- - url: "http://espresso_reader:8081"