address feedbacks
This commit is contained in:
parent
39df9a2465
commit
db13b7b25d
|
@ -14,7 +14,7 @@ const parser = yargs(hideBin(process.argv))
|
|||
"std-output": {
|
||||
type: "string",
|
||||
demandOption: true,
|
||||
desc: "Path to the standard output of the contract (build artifact)",
|
||||
desc: "Path to the standard JSON output of the contract (build artifact)",
|
||||
},
|
||||
"private-key": {
|
||||
type: "string",
|
||||
|
@ -28,23 +28,32 @@ const parser = yargs(hideBin(process.argv))
|
|||
},
|
||||
"deploy-args": {
|
||||
type: "array",
|
||||
desc: "Arguments to pass to the contract constructor",
|
||||
desc: "Arguments to pass to the contract constructor. Each argument must begin with 0x if it's a hex string",
|
||||
},
|
||||
});
|
||||
|
||||
async function main() {
|
||||
const argv = await parser.argv;
|
||||
|
||||
const chain = DefaultStore.chains[argv.chain] as EvmChain;
|
||||
const artifact = JSON.parse(readFileSync(argv["std-output"], "utf8"));
|
||||
const address = await chain.deploy(
|
||||
toPrivateKey(argv["private-key"]),
|
||||
artifact["abi"],
|
||||
artifact["bytecode"],
|
||||
argv["deploy-args"] || []
|
||||
);
|
||||
const chain = DefaultStore.chains[argv.chain];
|
||||
|
||||
console.log(`Deployed contract at ${address}`);
|
||||
if (!chain) {
|
||||
throw new Error(`Chain ${argv.contract} not found`);
|
||||
}
|
||||
|
||||
if (chain instanceof EvmChain) {
|
||||
const artifact = JSON.parse(readFileSync(argv["std-output"], "utf8"));
|
||||
const address = await chain.deploy(
|
||||
toPrivateKey(argv["private-key"]),
|
||||
artifact["abi"],
|
||||
artifact["bytecode"],
|
||||
argv["deploy-args"] || []
|
||||
);
|
||||
|
||||
console.log(`Deployed contract at ${address}`);
|
||||
} else {
|
||||
throw new Error("Chain is not an EVM chain");
|
||||
}
|
||||
}
|
||||
|
||||
main();
|
||||
|
|
|
@ -392,7 +392,7 @@ export class EvmChain extends Chain {
|
|||
* @param privateKey hex string of the 32 byte private key without the 0x prefix
|
||||
* @param abi the abi of the contract, can be obtained from the compiled contract json file
|
||||
* @param bytecode bytecode of the contract, can be obtained from the compiled contract json file
|
||||
* @param deployArgs arguments to pass to the constructor
|
||||
* @param deployArgs arguments to pass to the constructor. Each argument must begin with 0x if it's a hex string
|
||||
* @returns the address of the deployed contract
|
||||
*/
|
||||
async deploy(
|
||||
|
|
Loading…
Reference in New Issue