create-stylus 1.1.0 ā 1.1.2
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/package.json +1 -1
- package/templates/base/.gitignore.template.mjs +2 -2
- package/templates/base/dist/cli.js +683 -0
- package/templates/base/dist/cli.js.map +1 -0
- package/templates/base/package.json +2 -1
- package/templates/base/packages/nextjs/.gitignore.template.mjs +3 -3
- package/templates/base/packages/nextjs/scaffold.config.ts +2 -2
- package/templates/base/packages/stylus/.env.example +5 -2
- package/templates/base/packages/stylus/.gitignore.template.mjs +3 -3
- package/templates/base/packages/stylus/package.json +0 -1
- package/templates/base/packages/stylus/scripts/deploy.ts +29 -12
- package/templates/base/packages/stylus/scripts/deploy_contract.ts +34 -43
- package/templates/base/packages/stylus/scripts/deploy_wrapper.ts +4 -44
- package/templates/base/packages/stylus/scripts/export_abi.ts +13 -13
- package/templates/base/packages/stylus/scripts/utils/command.ts +18 -31
- package/templates/base/packages/stylus/scripts/utils/contract.ts +23 -14
- package/templates/base/packages/stylus/scripts/utils/deployment.ts +169 -45
- package/templates/base/packages/stylus/scripts/utils/network.ts +27 -7
- package/templates/base/packages/stylus/scripts/utils/type.ts +13 -10
- package/templates/base/packages/stylus/your-contract/Cargo.lock +35 -18
- package/templates/base/packages/stylus/your-contract/Cargo.toml +3 -1
- package/templates/base/packages/stylus/your-contract/src/lib.rs +51 -21
- package/templates/base/readme.md +207 -42
- package/templates/base/yarn.lock +1 -2
- package/templates/base/packages/stylus/README.md +0 -263
- package/templates/base/packages/stylus/header.png +0 -0
- package/templates/base/packages/stylus/scripts/deploy_all_contracts.ts +0 -59
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sources":["../src/types.ts","../src/utils/consts.ts","../src/utils/extensions-tree.ts","../src/utils/find-files-recursively.ts","../src/utils/merge-package-json.ts","../src/utils/link.ts","../src/tasks/copy-template-files.ts","../src/tasks/create-project-directory.ts","../src/tasks/install-packages.ts","../src/tasks/create-first-git-commit.ts","../src/tasks/prettier-format.ts","../src/utils/render-outro-message.ts","../src/main.ts","../src/utils/parse-arguments-into-options.ts","../src/config.ts","../src/utils/prompt-for-missing-options.ts","../src/utils/render-intro-message.ts","../src/cli.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["link"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ss",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"private": true,
|
|
5
5
|
"workspaces": {
|
|
6
6
|
"packages": [
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"stylus:format": "yarn workspace @ss/stylus format",
|
|
24
24
|
"stylus:test": "yarn workspace @ss/stylus test",
|
|
25
25
|
"test": "yarn stylus:test",
|
|
26
|
+
"test:networks": "yarn workspace @ss/stylus test:networks",
|
|
26
27
|
"format": "yarn next:format",
|
|
27
28
|
"start": "yarn workspace @ss/nextjs dev",
|
|
28
29
|
"next:lint": "yarn workspace @ss/nextjs lint",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const contents = () =>
|
|
1
|
+
const contents = () =>
|
|
2
2
|
`# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
|
|
3
3
|
|
|
4
4
|
# dependencies
|
|
@@ -37,6 +37,6 @@ yarn-error.log*
|
|
|
37
37
|
# typescript
|
|
38
38
|
*.tsbuildinfo
|
|
39
39
|
|
|
40
|
-
ipfs-upload.config.json
|
|
40
|
+
ipfs-upload.config.json`
|
|
41
41
|
|
|
42
|
-
export default contents;
|
|
42
|
+
export default contents;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
import { arbitrumNitro } from "./utils/scaffold-stylus/chain";
|
|
4
4
|
import * as chains from "viem/chains";
|
|
5
5
|
|
|
@@ -17,7 +17,7 @@ export const DEFAULT_ALCHEMY_API_KEY = "oKxs-03sij-U_N0iOlrSsZFr29-IqbuF";
|
|
|
17
17
|
|
|
18
18
|
const scaffoldConfig = {
|
|
19
19
|
// The networks on which your DApp is live
|
|
20
|
-
targetNetworks: [
|
|
20
|
+
targetNetworks: [arbitrumNitro],
|
|
21
21
|
|
|
22
22
|
// The interval at which your front-end polls the RPC servers for new data
|
|
23
23
|
// it has no effect if you only target the local network (default is 4000)
|
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
DEPLOYMENT_DIR=
|
|
2
2
|
|
|
3
3
|
## devnet
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
# ACCOUNT_ADDRESS=
|
|
5
|
+
# RPC_URL=
|
|
6
|
+
# PRIVATE_KEY=
|
|
6
7
|
|
|
7
8
|
## sepolia
|
|
9
|
+
ACCOUNT_ADDRESS_SEPOLIA=
|
|
8
10
|
RPC_URL_SEPOLIA=
|
|
9
11
|
PRIVATE_KEY_SEPOLIA=
|
|
10
12
|
|
|
11
13
|
## mainnet
|
|
14
|
+
ACCOUNT_ADDRESS_MAINNET=
|
|
12
15
|
RPC_URL_MAINNET=
|
|
13
16
|
PRIVATE_KEY_MAINNET=
|
|
@@ -1,29 +1,46 @@
|
|
|
1
1
|
import deployStylusContract from "./deploy_contract";
|
|
2
|
-
import {
|
|
3
|
-
getDeploymentConfig,
|
|
4
|
-
printDeployedAddresses,
|
|
5
|
-
} from "./utils/";
|
|
2
|
+
import { getDeploymentConfig, printDeployedAddresses } from "./utils/";
|
|
6
3
|
import { DeployOptions } from "./utils/type";
|
|
4
|
+
import { config as dotenvConfig } from "dotenv";
|
|
5
|
+
import * as path from "path";
|
|
6
|
+
import * as fs from "fs";
|
|
7
|
+
|
|
8
|
+
const envPath = path.resolve(__dirname, "../.env");
|
|
9
|
+
if (fs.existsSync(envPath)) {
|
|
10
|
+
dotenvConfig({ path: envPath });
|
|
11
|
+
}
|
|
7
12
|
|
|
8
13
|
/**
|
|
9
14
|
* Define your deployment logic here
|
|
10
15
|
*/
|
|
11
16
|
export default async function deployScript(deployOptions: DeployOptions) {
|
|
17
|
+
const config = getDeploymentConfig(deployOptions);
|
|
18
|
+
|
|
19
|
+
console.log(`š” Using endpoint: ${config.chain?.rpcUrl}`);
|
|
20
|
+
if (config.chain) {
|
|
21
|
+
console.log(`š Network: ${config.chain?.name}`);
|
|
22
|
+
console.log(`š Chain ID: ${config.chain?.id}`);
|
|
23
|
+
}
|
|
24
|
+
console.log(`š Using private key: ${config.privateKey.substring(0, 10)}...`);
|
|
25
|
+
console.log(`š Deployment directory: ${config.deploymentDir}`);
|
|
26
|
+
console.log(`\n`);
|
|
27
|
+
|
|
12
28
|
// Deploy a single contract
|
|
13
29
|
await deployStylusContract({
|
|
14
30
|
contract: "your-contract",
|
|
31
|
+
constructorArgs: [config.deployerAddress!],
|
|
15
32
|
...deployOptions,
|
|
16
33
|
});
|
|
17
34
|
|
|
18
|
-
|
|
19
|
-
await deployStylusContract({
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
35
|
+
/// Deploy your contract with a custom name
|
|
36
|
+
// await deployStylusContract({
|
|
37
|
+
// contract: "your-contract",
|
|
38
|
+
// constructorArgs: [config.deployerAddress],
|
|
39
|
+
// name: "my-contract",
|
|
40
|
+
// ...deployOptions,
|
|
41
|
+
// });
|
|
24
42
|
|
|
25
43
|
// Print the deployed addresses
|
|
26
|
-
const config = getDeploymentConfig(deployOptions);
|
|
27
44
|
console.log("\n\n");
|
|
28
|
-
printDeployedAddresses(config.deploymentDir);
|
|
45
|
+
printDeployedAddresses(config.deploymentDir, config.chain?.id);
|
|
29
46
|
}
|
|
@@ -2,17 +2,12 @@ import {
|
|
|
2
2
|
getDeploymentConfig,
|
|
3
3
|
ensureDeploymentDirectory,
|
|
4
4
|
executeCommand,
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
saveDeployedAddress,
|
|
8
|
-
clearDeploymentDir,
|
|
5
|
+
extractDeploymentInfo,
|
|
6
|
+
saveDeployment,
|
|
9
7
|
// estimateGasPrice,
|
|
10
8
|
} from "./utils/";
|
|
11
9
|
import { exportStylusAbi } from "./export_abi";
|
|
12
|
-
import {
|
|
13
|
-
DeployOptions,
|
|
14
|
-
AdditionalOptions,
|
|
15
|
-
} from "./utils/type";
|
|
10
|
+
import { DeployOptions } from "./utils/type";
|
|
16
11
|
import { buildDeployCommand } from "./utils/command";
|
|
17
12
|
|
|
18
13
|
/**
|
|
@@ -23,34 +18,14 @@ import { buildDeployCommand } from "./utils/command";
|
|
|
23
18
|
*/
|
|
24
19
|
export default async function deployStylusContract(
|
|
25
20
|
deployOptions: DeployOptions,
|
|
26
|
-
additionalOptions: AdditionalOptions = {
|
|
27
|
-
isSingleCommand: true,
|
|
28
|
-
shouldClearDeploymentDir: false,
|
|
29
|
-
},
|
|
30
21
|
) {
|
|
31
22
|
console.log(`\nš Deploying contract in: ${deployOptions.contract}`);
|
|
32
23
|
|
|
33
24
|
const config = getDeploymentConfig(deployOptions);
|
|
34
|
-
|
|
35
|
-
clearDeploymentDir();
|
|
36
|
-
ensureDeploymentDirectory(config.deploymentDir);
|
|
37
|
-
}
|
|
25
|
+
ensureDeploymentDirectory(config.deploymentDir);
|
|
38
26
|
|
|
39
27
|
console.log(`š Contract name: ${config.contractName}`);
|
|
40
28
|
|
|
41
|
-
config.contractAddress = generateContractAddress();
|
|
42
|
-
|
|
43
|
-
if (additionalOptions.isSingleCommand) {
|
|
44
|
-
console.log(`š” Using endpoint: ${config.chain?.rpcUrl}`);
|
|
45
|
-
if (config.chain) {
|
|
46
|
-
console.log(`š Network specified: ${config.chain?.name}`);
|
|
47
|
-
}
|
|
48
|
-
console.log(
|
|
49
|
-
`š Using private key: ${config.privateKey.substring(0, 10)}...`,
|
|
50
|
-
);
|
|
51
|
-
console.log(`š Deployment directory: ${config.deploymentDir}`);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
29
|
try {
|
|
55
30
|
// Step 1: Deploy the contract using cargo stylus with contract address
|
|
56
31
|
// --contract-address='${config.contractAddress}' deactivated for now as it's not working. Issue https://github.com/OffchainLabs/cargo-stylus/issues/171
|
|
@@ -63,31 +38,47 @@ export default async function deployStylusContract(
|
|
|
63
38
|
|
|
64
39
|
if (deployOptions.estimateGas) {
|
|
65
40
|
console.log(deployOutput);
|
|
66
|
-
|
|
41
|
+
return;
|
|
67
42
|
}
|
|
68
43
|
|
|
69
44
|
// Extract the actual deployed address from the output
|
|
70
|
-
const
|
|
71
|
-
if (
|
|
72
|
-
|
|
73
|
-
console.log(
|
|
45
|
+
const deploymentInfo = extractDeploymentInfo(deployOutput);
|
|
46
|
+
if (deploymentInfo) {
|
|
47
|
+
console.log(`š Contract deployed at address: ${deploymentInfo.address}`);
|
|
48
|
+
console.log("Transaction hash: ", deploymentInfo.txHash);
|
|
74
49
|
} else {
|
|
75
|
-
|
|
50
|
+
throw new Error("Failed to extract deployed address");
|
|
76
51
|
}
|
|
77
52
|
|
|
78
|
-
// Save the deployed address to
|
|
79
|
-
|
|
53
|
+
// Save the deployed address to chain-specific deployment file
|
|
54
|
+
saveDeployment(config, deploymentInfo);
|
|
80
55
|
|
|
81
56
|
// Step 2: Export ABI using the shared function
|
|
82
|
-
await exportStylusAbi(
|
|
57
|
+
await exportStylusAbi(
|
|
58
|
+
config.contractFolder,
|
|
59
|
+
config.contractName,
|
|
60
|
+
false,
|
|
61
|
+
config.chain?.id,
|
|
62
|
+
);
|
|
83
63
|
|
|
84
|
-
|
|
85
|
-
if (
|
|
86
|
-
|
|
87
|
-
|
|
64
|
+
// Step 3: Verify the contract
|
|
65
|
+
if (deployOptions.verify) {
|
|
66
|
+
try {
|
|
67
|
+
const output = await executeCommand(
|
|
68
|
+
`cargo stylus verify --endpoint=${config.chain?.rpcUrl} --deployment-tx=${deploymentInfo.txHash}`,
|
|
69
|
+
deployOptions.contract!,
|
|
70
|
+
"Verifying contract with cargo stylus",
|
|
71
|
+
);
|
|
72
|
+
console.log(output);
|
|
73
|
+
} catch (error) {
|
|
74
|
+
console.error(
|
|
75
|
+
`ā Verification failed in: ${deployOptions.contract}`,
|
|
76
|
+
error,
|
|
77
|
+
);
|
|
78
|
+
}
|
|
88
79
|
}
|
|
89
80
|
} catch (error) {
|
|
90
81
|
console.error(`ā Deployment failed in: ${deployOptions.contract}`, error);
|
|
91
82
|
process.exit(1);
|
|
92
83
|
}
|
|
93
|
-
}
|
|
84
|
+
}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
import * as fs from "fs";
|
|
2
|
-
import deployStylusContract from "./deploy_contract";
|
|
3
1
|
import { hideBin } from "yargs/helpers";
|
|
4
2
|
import yargs from "yargs";
|
|
5
3
|
import { DeployCommandOptions, DeployOptions } from "./utils/type";
|
|
6
|
-
import deployAllStylusContracts from "./deploy_all_contracts";
|
|
7
4
|
import deployScript from "./deploy";
|
|
8
5
|
|
|
9
6
|
/**
|
|
@@ -14,24 +11,6 @@ if (require.main === module) {
|
|
|
14
11
|
// Use yargs for argument parsing
|
|
15
12
|
const argv = yargs(hideBin(process.argv))
|
|
16
13
|
.usage("Usage: yarn deploy --name <contractName> --network <network>")
|
|
17
|
-
.option("all", {
|
|
18
|
-
alias: "a",
|
|
19
|
-
describe: "Deploy all contracts in the stylus folder",
|
|
20
|
-
type: "boolean",
|
|
21
|
-
demandOption: false,
|
|
22
|
-
})
|
|
23
|
-
.option("contract", {
|
|
24
|
-
alias: "c",
|
|
25
|
-
describe: "Name of the contract folder",
|
|
26
|
-
type: "string",
|
|
27
|
-
demandOption: false,
|
|
28
|
-
})
|
|
29
|
-
.option("name", {
|
|
30
|
-
alias: "n",
|
|
31
|
-
describe: "Name of the contract",
|
|
32
|
-
type: "string",
|
|
33
|
-
demandOption: false,
|
|
34
|
-
})
|
|
35
14
|
.option("network", {
|
|
36
15
|
alias: "net",
|
|
37
16
|
describe: "Network to deploy to",
|
|
@@ -53,27 +32,8 @@ if (require.main === module) {
|
|
|
53
32
|
.help()
|
|
54
33
|
.parseSync() as DeployCommandOptions;
|
|
55
34
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
} else if (argv.contract) {
|
|
62
|
-
if (!fs.existsSync(argv.contract)) {
|
|
63
|
-
console.error(`ā Contract folder does not exist: ${argv.contract}`);
|
|
64
|
-
process.exit(1);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
deployStylusContract(argv as DeployOptions, {
|
|
68
|
-
shouldClearDeploymentDir: true,
|
|
69
|
-
}).catch((error) => {
|
|
70
|
-
console.error("Fatal error:", error);
|
|
71
|
-
process.exit(1);
|
|
72
|
-
});
|
|
73
|
-
} else {
|
|
74
|
-
deployScript(argv as DeployOptions).catch((error) => {
|
|
75
|
-
console.error("Fatal error:", error);
|
|
76
|
-
process.exit(1);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
35
|
+
deployScript(argv as DeployOptions).catch((error) => {
|
|
36
|
+
console.error("Fatal error:", error);
|
|
37
|
+
process.exit(1);
|
|
38
|
+
});
|
|
79
39
|
}
|
|
@@ -11,21 +11,21 @@ import {
|
|
|
11
11
|
export async function exportStylusAbi(
|
|
12
12
|
contractFolder: string,
|
|
13
13
|
contractName: string,
|
|
14
|
-
|
|
14
|
+
isScript: boolean = true,
|
|
15
|
+
chainId?: string,
|
|
15
16
|
) {
|
|
16
17
|
console.log("š Starting Stylus ABI export...");
|
|
17
18
|
|
|
18
|
-
const config = getExportConfig(contractFolder, contractName);
|
|
19
|
+
const config = getExportConfig(contractFolder, contractName, chainId);
|
|
19
20
|
|
|
20
|
-
// If contractAddress is not set, error and exit
|
|
21
21
|
if (!config.contractAddress) {
|
|
22
22
|
console.error(
|
|
23
|
-
`ā Contract address not found. Please deploy the contract first or ensure it is saved in ${
|
|
23
|
+
`ā Contract address not found. Please deploy the contract first or ensure it is saved in a chain-specific deployment file in ${config.deploymentDir}`,
|
|
24
24
|
);
|
|
25
25
|
process.exit(1);
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
if (
|
|
28
|
+
if (isScript) {
|
|
29
29
|
console.log(`š Contract name: ${config.contractName}`);
|
|
30
30
|
console.log(`š Deployment directory: ${config.deploymentDir}`);
|
|
31
31
|
console.log(`š Contract address: ${config.contractAddress}`);
|
|
@@ -33,7 +33,6 @@ export async function exportStylusAbi(
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
try {
|
|
36
|
-
// Ensure deployment directory exists
|
|
37
36
|
ensureDeploymentDirectory(config.deploymentDir);
|
|
38
37
|
|
|
39
38
|
// Export ABI
|
|
@@ -44,7 +43,6 @@ export async function exportStylusAbi(
|
|
|
44
43
|
`š ABI file location: ${config.deploymentDir}/${config.contractFolder}`,
|
|
45
44
|
);
|
|
46
45
|
|
|
47
|
-
// Verify the ABI file was created
|
|
48
46
|
const abiFilePath = path.resolve(
|
|
49
47
|
config.deploymentDir,
|
|
50
48
|
`${config.contractFolder}`,
|
|
@@ -58,11 +56,12 @@ export async function exportStylusAbi(
|
|
|
58
56
|
}
|
|
59
57
|
|
|
60
58
|
// do not Generate TypeScript ABI when called from yarn script
|
|
61
|
-
if (!
|
|
59
|
+
if (!isScript) {
|
|
62
60
|
await generateTsAbi(
|
|
63
61
|
abiFilePath,
|
|
64
62
|
config.contractName,
|
|
65
63
|
config.contractAddress,
|
|
64
|
+
config.txHash,
|
|
66
65
|
config.chainId,
|
|
67
66
|
);
|
|
68
67
|
}
|
|
@@ -72,7 +71,6 @@ export async function exportStylusAbi(
|
|
|
72
71
|
}
|
|
73
72
|
}
|
|
74
73
|
|
|
75
|
-
// Allow running this file directly
|
|
76
74
|
if (require.main === module) {
|
|
77
75
|
// Get contract folder from command line args, default to 'your-contract'
|
|
78
76
|
const contractFolder = process.argv[2] || "your-contract";
|
|
@@ -80,8 +78,10 @@ if (require.main === module) {
|
|
|
80
78
|
console.error(`ā Contract folder does not exist: ${contractFolder}`);
|
|
81
79
|
process.exit(1);
|
|
82
80
|
}
|
|
83
|
-
exportStylusAbi(contractFolder, contractFolder).catch(
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
81
|
+
exportStylusAbi(contractFolder, contractFolder).catch(
|
|
82
|
+
(error) => {
|
|
83
|
+
console.error("Fatal error:", error);
|
|
84
|
+
process.exit(1);
|
|
85
|
+
},
|
|
86
|
+
);
|
|
87
87
|
}
|
|
@@ -6,24 +6,38 @@ export async function buildDeployCommand(
|
|
|
6
6
|
config: DeploymentConfig,
|
|
7
7
|
deployOptions: DeployOptions,
|
|
8
8
|
) {
|
|
9
|
-
|
|
9
|
+
let baseCommand = `cargo stylus deploy --endpoint='${config.chain?.rpcUrl}' --private-key='${config.privateKey}'`;
|
|
10
|
+
|
|
11
|
+
if (
|
|
12
|
+
deployOptions.constructorArgs &&
|
|
13
|
+
deployOptions.constructorArgs.length > 0
|
|
14
|
+
) {
|
|
15
|
+
baseCommand += ` --constructor-args='${deployOptions.constructorArgs.join(" ")}'`;
|
|
16
|
+
}
|
|
10
17
|
|
|
11
18
|
if (deployOptions.estimateGas) {
|
|
12
19
|
return `${baseCommand} --estimate-gas`;
|
|
13
20
|
}
|
|
14
21
|
|
|
22
|
+
if (!deployOptions.verify) {
|
|
23
|
+
baseCommand += ` --no-verify`;
|
|
24
|
+
}
|
|
25
|
+
|
|
15
26
|
if (deployOptions.maxFee) {
|
|
16
|
-
|
|
27
|
+
baseCommand += ` --max-fee-per-gas-gwei=${deployOptions.maxFee}`;
|
|
17
28
|
}
|
|
18
29
|
|
|
19
|
-
// const gasPrice = await estimateGasPrice(config);
|
|
20
30
|
return baseCommand;
|
|
21
31
|
}
|
|
22
32
|
|
|
23
33
|
export async function estimateGasPrice(
|
|
24
34
|
config: DeploymentConfig,
|
|
35
|
+
deployOptions: DeployOptions,
|
|
25
36
|
): Promise<string> {
|
|
26
|
-
|
|
37
|
+
let deployCommand = `cargo stylus deploy --endpoint='${config.chain?.rpcUrl}' --private-key='${config.privateKey}' --no-verify --estimate-gas `;
|
|
38
|
+
if (deployOptions.constructorArgs) {
|
|
39
|
+
deployCommand += ` --constructor-args='${deployOptions.constructorArgs.join(" ")}'`;
|
|
40
|
+
}
|
|
27
41
|
const deployOutput = await executeCommand(
|
|
28
42
|
deployCommand,
|
|
29
43
|
config.contractName,
|
|
@@ -88,33 +102,6 @@ export function executeCommand(
|
|
|
88
102
|
childProcess.on("close", (code: number | null) => {
|
|
89
103
|
if (code === 0) {
|
|
90
104
|
console.log(`\nā
${description} completed successfully!`);
|
|
91
|
-
// Print output starting from "project metadata hash computed on deployment" or error patterns, or all logs if not found
|
|
92
|
-
// if (outputLines.length > 0) {
|
|
93
|
-
// const metadataIndex = outputLines.findIndex((line) =>
|
|
94
|
-
// line.includes("project metadata hash computed on deployment"),
|
|
95
|
-
// );
|
|
96
|
-
// const errorIndex = outputLines.findIndex((line) =>
|
|
97
|
-
// line.includes("error["),
|
|
98
|
-
// );
|
|
99
|
-
|
|
100
|
-
// let startIndex = -1;
|
|
101
|
-
// if (metadataIndex >= 0) {
|
|
102
|
-
// startIndex = metadataIndex;
|
|
103
|
-
// } else if (errorIndex >= 0) {
|
|
104
|
-
// startIndex = errorIndex;
|
|
105
|
-
// }
|
|
106
|
-
|
|
107
|
-
// if (startIndex >= 0) {
|
|
108
|
-
// const linesToPrint = outputLines.slice(startIndex);
|
|
109
|
-
// linesToPrint.forEach((line) => {
|
|
110
|
-
// if (line.trim()) console.log(line);
|
|
111
|
-
// });
|
|
112
|
-
// } else {
|
|
113
|
-
// outputLines.forEach((line) => {
|
|
114
|
-
// if (line.trim()) console.log(line);
|
|
115
|
-
// });
|
|
116
|
-
// }
|
|
117
|
-
// }
|
|
118
105
|
resolve(output);
|
|
119
106
|
} else {
|
|
120
107
|
console.error(`\nā ${description} failed with exit code ${code}`);
|