diff --git a/package-lock.json b/package-lock.json index 9366536..a08efd3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@dgma/hardhat-sol-bundler", - "version": "0.5.3", + "version": "0.5.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@dgma/hardhat-sol-bundler", - "version": "0.5.3", + "version": "0.5.4", "license": "SEE LICENSE IN LICENSE", "devDependencies": { "@nomicfoundation/hardhat-chai-matchers": "^2.0.6", diff --git a/package.json b/package.json index 5891077..427ba4c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@dgma/hardhat-sol-bundler", - "version": "0.5.3", + "version": "0.5.4", "description": "Declarative deployment tool for smart contracts", "main": "src/index.js", "types": "src/index.d.ts", diff --git a/src/deploy/deploy.ts b/src/deploy/deploy.ts index 6e5ef51..75cf8b0 100644 --- a/src/deploy/deploy.ts +++ b/src/deploy/deploy.ts @@ -7,7 +7,6 @@ import { type IGlobalState, type IDeployingContractState, type ProxyUnsafeAllow, - type ProxyType, } from "./types"; import { getDeployment, @@ -61,7 +60,7 @@ async function deployOrUpdateClassic( })); } -async function simpleDeploy(contractState: ContractState, proxy?: ProxyType) { +async function simpleDeploy(contractState: ContractState) { const contract = await contractState .value() ?.factory?.deploy(...contractState.value().constructorArguments)!; @@ -71,20 +70,27 @@ async function simpleDeploy(contractState: ContractState, proxy?: ProxyType) { contractState.update((prevState) => ({ ...prevState, contract, - proxy, })); } async function deployOnce( - _: HardhatRuntimeEnvironment, + hre: HardhatRuntimeEnvironment, state: GlobalState, contractState: ContractState, - proxy = SupportedProxies.CUSTOM, ) { const contractLockData = state.value().ctx[contractState.value().key]; const isFirstTimeDeploy = !contractLockData?.factoryByteCode; if (isFirstTimeDeploy) { - await simpleDeploy(contractState, proxy); + await simpleDeploy(contractState); + } else { + const contract = await hre.ethers.getContractAt( + contractLockData.abi as any[], + contractLockData.address!, + ); + contractState.update((prevState) => ({ + ...prevState, + contract, + })); } }