Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion cli/src/cli-helpers/ensureBalances.ts
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ You can either:
- Fund your wallet ${emphasis(address)}
- Import another wallet (run ${command('iapp wallet import')})
- Select an imported wallet (run ${command('iapp wallet select')})
- Use another chain (use option ${command('--chain <name>')})`)
- Use another chain (change default chain ${command('iapp chain select <name>')} or use option ${command('--chain <name>')})`)
);
}

Expand Down
32 changes: 32 additions & 0 deletions cli/src/cli-helpers/resolveChainConfig.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import { DEFAULT_CHAIN, DEPRECATED_CHAINS } from '../config/config.js';
import { getChainConfig } from '../utils/iAppConfigFile.js';
import type { Spinner } from './spinner.js';
import { command as colorCommand, file as colorFile } from './color.js';
import { warnBox } from './box.js';

export const resolveChainConfig = ({
chain,
defaultChain,
spinner,
}: {
chain?: string;
defaultChain: string;
spinner: Spinner;
}) => {
const config = getChainConfig(chain ?? defaultChain);

spinner.info(`Using chain ${colorFile(config.name)}`);

if (DEPRECATED_CHAINS.includes(config.name)) {
spinner.log(
warnBox(
`The selected chain ${colorFile(config.name)} is deprecated and may not be supported in future versions.
Please consider switching to ${colorFile(DEFAULT_CHAIN)} or another supported chain.

run ${colorCommand('iapp chain select <name>')} to change default chain or use ${colorCommand('--chain <name>')} option.`
)
);
}

return config;
};
11 changes: 7 additions & 4 deletions cli/src/cmd/debug.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,9 @@ import { getIExec } from '../utils/iexec.js';
import { getSpinner } from '../cli-helpers/spinner.js';
import * as color from '../cli-helpers/color.js';
import { handleCliError } from '../cli-helpers/handleCliError.js';
import { getChainConfig, readIAppConfig } from '../utils/iAppConfigFile.js';
import { readIAppConfig } from '../utils/iAppConfigFile.js';
import { goToProjectRoot } from '../cli-helpers/goToProjectRoot.js';
import { resolveChainConfig } from '../cli-helpers/resolveChainConfig.js';

export async function debug({
taskId,
Expand All @@ -22,9 +23,11 @@ export async function debug({
}
await goToProjectRoot({ spinner });
const { defaultChain } = await readIAppConfig();
const chainName = chain || defaultChain;
const chainConfig = getChainConfig(chainName);
spinner.info(`Using chain ${chainName}`);
const chainConfig = resolveChainConfig({
chain,
defaultChain,
spinner,
});
const signer = await askForWallet({ spinner });
const iexec = getIExec({
...chainConfig,
Expand Down
12 changes: 7 additions & 5 deletions cli/src/cmd/deploy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import {
import { sconify } from '../utils/sconify.js';
import { askForDockerhubUsername } from '../cli-helpers/askForDockerhubUsername.js';
import {
getChainConfig,
projectNameToImageName,
readIAppConfig,
} from '../utils/iAppConfigFile.js';
Expand All @@ -26,15 +25,18 @@ import { addDeploymentData } from '../utils/cacheExecutions.js';
import { useTdx } from '../utils/featureFlags.js';
import { ensureBalances } from '../cli-helpers/ensureBalances.js';
import { warnBeforeTxFees } from '../cli-helpers/warnBeforeTxFees.js';
import { resolveChainConfig } from '../cli-helpers/resolveChainConfig.js';

export async function deploy({ chain }: { chain?: string }) {
const spinner = getSpinner();
try {
await goToProjectRoot({ spinner });
const { projectName, template, defaultChain } = await readIAppConfig();
const chainName = chain || defaultChain;
const chainConfig = getChainConfig(chainName);
spinner.info(`Using chain ${chainName}`);
const chainConfig = resolveChainConfig({
chain,
defaultChain,
spinner,
});
await warnBeforeTxFees({ spinner, chain: chainConfig.name });

const signer = await askForWallet({ spinner });
Expand Down Expand Up @@ -178,7 +180,7 @@ export async function deploy({ chain }: { chain?: string }) {
image: appDockerImage,
app: appContractAddress,
owner: userAddress,
chainName,
chainName: chainConfig.name,
});
spinner.succeed(
`TEE app deployed with image ${appDockerImage} on iExec with address ${appContractAddress}`
Expand Down
13 changes: 8 additions & 5 deletions cli/src/cmd/run.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ import { askShowResult } from '../cli-helpers/askShowResult.js';
import { goToProjectRoot } from '../cli-helpers/goToProjectRoot.js';
import * as color from '../cli-helpers/color.js';
import { IExec } from 'iexec';
import { getChainConfig, readIAppConfig } from '../utils/iAppConfigFile.js';
import { readIAppConfig } from '../utils/iAppConfigFile.js';
import { ensureBalances } from '../cli-helpers/ensureBalances.js';
import { askForAcknowledgment } from '../cli-helpers/askForAcknowledgment.js';
import { warnBeforeTxFees } from '../cli-helpers/warnBeforeTxFees.js';
import { resolveChainConfig } from '../cli-helpers/resolveChainConfig.js';

export async function run({
iAppAddress,
Expand All @@ -40,9 +41,11 @@ export async function run({
await cleanRunOutput({ spinner, outputFolder: RUN_OUTPUT_DIR });

const { defaultChain } = await readIAppConfig();
const chainName = chain || defaultChain;
const chainConfig = getChainConfig(chainName);
spinner.info(`Using chain ${chainName}`);
const chainConfig = resolveChainConfig({
chain,
defaultChain,
spinner,
});
await warnBeforeTxFees({ spinner, chain: chainConfig.name });

spinner.start('checking inputs...');
Expand Down Expand Up @@ -245,7 +248,7 @@ export async function run({
dealid,
taskids: [taskid],
txHash,
chainName,
chainName: chainConfig.name,
});
spinner.succeed(
`Deal created successfully
Expand Down
4 changes: 3 additions & 1 deletion cli/src/config/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,9 @@ type ChainConfig = {
tdxWorkerpool?: string;
};

export const DEFAULT_CHAIN = 'bellecour';
export const DEFAULT_CHAIN = 'arbitrum-sepolia-testnet';

export const DEPRECATED_CHAINS = ['bellecour'];

export const CHAINS_CONFIGURATIONS: Record<string, ChainConfig> = {
bellecour: {
Expand Down
4 changes: 2 additions & 2 deletions cli/test/iapp.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,8 @@ test('iapp init command works', async () => {
// default chain is bellecour
assert.strictEqual(
config.defaultChain,
'bellecour',
'defaultChain should be bellecour'
'arbitrum-sepolia-testnet',
'defaultChain should be arbitrum-sepolia-testnet'
);
// default project name is hello-world
assert.strictEqual(
Expand Down