Skip to content

Commit

Permalink
added private key flag
Browse files Browse the repository at this point in the history
added rpc url flag
  • Loading branch information
H34D committed May 25, 2023
1 parent c569bcc commit 09be034
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 23 deletions.
17 changes: 16 additions & 1 deletion src/cli.ts
Expand Up @@ -63,7 +63,10 @@ console.log(
chalk.red(figlet.textSync("Masa CLI", { horizontalLayout: "full" }))
);

const overrides: Partial<MasaArgs> = {
const overrides: Partial<MasaArgs> & {
privateKey?: string;
rpcUrl?: string;
} = {
verbose: undefined,
networkName: undefined,
};
Expand All @@ -86,6 +89,18 @@ program
overrides.networkName = networkName as NetworkName;
reloadMasa(overrides);
})
.option(
"-pk, --privateKey <private-key>",
"Private Key override",
(privateKey) => {
overrides.privateKey = privateKey;
reloadMasa(overrides);
}
)
.option("-r, --rpcUrl <rpc-url>", "RPC URL override", (rpcUrl) => {
overrides.rpcUrl = rpcUrl;
reloadMasa(overrides);
})
.usage("[command] [subcommand] [arguments] [options]")
.description("The Masa CLI");

Expand Down
54 changes: 32 additions & 22 deletions src/helpers/masa.ts
Expand Up @@ -8,9 +8,15 @@ import {
import { config } from "../utils/config";
import { providers, Wallet } from "ethers";

const loadWallet = (rpcUrl?: string) =>
const loadWallet = ({
rpcUrl,
privateKey,
}: {
rpcUrl?: string;
privateKey?: string;
} = {}) =>
new Wallet(
config.get("private-key") as string,
privateKey || (config.get("private-key") as string),
new providers.JsonRpcProvider(rpcUrl || (config.get("rpc-url") as string))
);

Expand All @@ -29,11 +35,19 @@ const masaArgs: MasaArgs = {
},
};

export const reloadMasa = (overrideConfig: Partial<MasaArgs>) => {
export const reloadMasa = (
overrideConfig: Partial<MasaArgs> & {
privateKey?: string;
rpcUrl?: string;
}
) => {
if (overrideConfig.networkName) {
const network = SupportedNetworks[overrideConfig.networkName];
if (network) {
overrideConfig.signer = loadWallet(network.rpcUrls[0]);
overrideConfig.signer = loadWallet({
rpcUrl: network.rpcUrls[0],
privateKey: overrideConfig.privateKey,
});
} else {
console.error(
`Network '${overrideConfig.networkName}' not found! Using '${masaArgs.networkName}'`
Expand All @@ -43,25 +57,21 @@ export const reloadMasa = (overrideConfig: Partial<MasaArgs>) => {
}
}

/*
const contractOverrides: Partial<IIdentityContracts> = {
SoulStoreContract: SoulStore__factory.connect(
constants.AddressZero,
overrideConfig.wallet || masaArgs.wallet
),
SoulNameContract: SoulName__factory.connect(
constants.AddressZero,
overrideConfig.wallet || masaArgs.wallet
),
};
if (overrideConfig.rpcUrl) {
overrideConfig.signer = loadWallet({
rpcUrl: overrideConfig.rpcUrl,
privateKey: overrideConfig.privateKey,
});
delete overrideConfig.rpcUrl;
}

if (contractOverrides.SoulStoreContract) {
contractOverrides.SoulStoreContract.hasAddress = true;
}
if (contractOverrides.SoulNameContract) {
contractOverrides.SoulNameContract.hasAddress = true;
}
*/
if (overrideConfig.privateKey) {
overrideConfig.signer = loadWallet({
rpcUrl: overrideConfig.rpcUrl,
privateKey: overrideConfig.privateKey,
});
delete overrideConfig.privateKey;
}

masa = new Masa({
...masaArgs,
Expand Down

0 comments on commit 09be034

Please sign in to comment.