2024-05-29 13:39:15 +05:30

34 lines
1.5 KiB
Solidity

// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.19 <=0.9.0;
import { WakuRlnV2 } from "../src/WakuRlnV2.sol";
import { PoseidonT3 } from "poseidon-solidity/PoseidonT3.sol";
import { LazyIMT } from "@zk-kit/imt.sol/LazyIMT.sol";
import {ERC1967Proxy} from "@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol";
import { BaseScript } from "./Base.s.sol";
import "forge-std/console.sol";
import { Upgrades, Options } from "openzeppelin-foundry-upgrades/Upgrades.sol";
import { DeploymentConfig } from "./DeploymentConfig.s.sol";
contract Deploy is BaseScript {
function run() public broadcast returns (WakuRlnV2 w, address impl) {
/*opts.unsafeAllow = "external-library-linking";*/
/*opts.unsafeSkipAllChecks = true;
address proxy = Upgrades.deployTransparentProxy(
"WakuRlnV2.sol:WakuRlnV2", msg.sender, abi.encodeCall(WakuRlnV2.initialize, (msg.sender, 20)), opts
);
w = WakuRlnV2(proxy);*/
/*poseidonHasher = new PoseidonHasher();
address implementation = address(new WakuRlnRegistry());
bytes memory data = abi.encodeCall(WakuRlnRegistry.initialize, address(poseidonHasher));
address proxy = address(new ERC1967Proxy(implementation, data));
wakuRlnRegistry = WakuRlnRegistry(proxy);*/
impl = address(new WakuRlnV2());
bytes memory data = abi.encodeCall(WakuRlnV2.initialize, (msg.sender, 20));
address proxy = address(new ERC1967Proxy(impl, data));
w = WakuRlnV2(proxy);
}
}