aa-schnorr-multisig
Version:
Account Abstraction Schnorr Multi-Signatures
34 lines • 1.49 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.deploymentManager = exports.DeploymentManager = void 0;
const promises_1 = require("fs/promises");
const path_1 = __importDefault(require("path"));
class DeploymentManager {
constructor(deploymentFilePath) {
this.deploymentDraft = {};
this.read = async () => {
try {
const deploymentsFile = await (0, promises_1.readFile)(this.deploymentFilePath);
this.deploymentDraft = JSON.parse(deploymentsFile.toString());
}
catch {
this.deploymentDraft = {};
}
return this.deploymentDraft;
};
this.write = async (chainId, deployment) => {
const chainIdStr = chainId.toString();
if (Object.keys(this.deploymentDraft).length === 0)
await this.read();
this.deploymentDraft[chainIdStr] = deployment;
await (0, promises_1.writeFile)(this.deploymentFilePath, JSON.stringify(this.deploymentDraft));
};
this.deploymentFilePath = deploymentFilePath;
}
}
exports.DeploymentManager = DeploymentManager;
exports.deploymentManager = new DeploymentManager(path_1.default.resolve(`${__dirname}`, './deployments.json'));
//# sourceMappingURL=deploymentManager.js.map