in src/helpers/openZeppelinHelper.ts [96:133]
async function setContractParameters(assets: IOZAsset[]): Promise<void> {
const projectMetadata = await OpenZeppelinProjectJsonService.getProjectJson();
try {
for (const asset of assets) {
for (const [contractName, contractParameters] of Object.entries(asset.requiredParameters!)) {
for (const parameter of contractParameters) {
if (!parameter.value) {
parameter.value = await showInputBox({
ignoreFocusOut: true,
prompt: Constants.openZeppelin.contactParameterInformation(
contractName,
parameter.name,
parameter.type,
),
validateInput: (v) => validateSolidityType(v, parameter.type),
});
}
}
}
}
await OpenZeppelinProjectJsonService.addAssetsToProjectJsonAsync(
assets,
projectMetadata);
await OpenZeppelinProjectJsonService.storeProjectJsonAsync(projectMetadata);
} catch (error) {
if (await showConfirmationDialog(Constants.openZeppelin.saveSpecifiedParameters)) {
await OpenZeppelinProjectJsonService.addAssetsToProjectJsonAsync(
assets,
projectMetadata);
await OpenZeppelinProjectJsonService.storeProjectJsonAsync(projectMetadata);
}
if (error instanceof CancellationEvent) {
return;
} else {
throw error;
}
}
}