UNPKG

@excubiae/contracts

Version:
36 lines 1.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.deployProxyClone = exports.getProxyContract = void 0; /** * Get proxy contract from deployed proxy factory contract and receipt. * * @param args get proxy contract arguments * @returns proxied contract */ const getProxyContract = async ({ factory, proxyFactory, receipt, signer }) => { if (!signer) { throw new Error("No signer provided"); } const address = await proxyFactory .queryFilter(proxyFactory.filters.CloneDeployed, receipt?.blockNumber, receipt?.blockNumber) .then(([event]) => event.args[0]); return factory.connect(signer).attach(address); }; exports.getProxyContract = getProxyContract; /** * Deploy proxy clone instance. * * @param args deploy proxy clone arguments * @returns clone contract */ const deployProxyClone = async ({ factory, proxyFactory, signer, args }) => { const receipt = await proxyFactory.deploy(...args).then((tx) => tx.wait()); return (0, exports.getProxyContract)({ factory, proxyFactory, receipt, signer }); }; exports.deployProxyClone = deployProxyClone; //# sourceMappingURL=deploy.js.map