Skip to content

Commit aaf9747

Browse files
authored
Merge pull request #4 from NFTX-project/shutdown-redeemer
create Shutdown Redeemer
2 parents c77972b + f230712 commit aaf9747

28 files changed

+3730
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ DefaultProxyAdmin | [0xf8Cab5e4912e08c475033776d9472b81c1325e58](https://ethersc
3333
[NonfungiblePositionManager](./src/uniswap/v3-periphery/NonfungiblePositionManager.sol) | [0x26387fcA3692FCac1C1e8E4E2B22A6CF0d4b71bF](https://etherscan.io/address/0x26387fcA3692FCac1C1e8E4E2B22A6CF0d4b71bF#code) | [0x8AD238377531547838370B9C4aC346b9Ed5466Ea](https://arbiscan.io/address/0x8AD238377531547838370B9C4aC346b9Ed5466Ea#code) | [0xA9bCC1e29d3460177875f68fDCC0264D22c40BF0](https://sepolia.etherscan.io/address/0xA9bCC1e29d3460177875f68fDCC0264D22c40BF0#code) | [0xDa9411C5455a1bfDb527d0988c0A2764E2a104be](https://goerli.etherscan.io/address/0xDa9411C5455a1bfDb527d0988c0A2764E2a104be#code)
3434
[permit2](https://github.com/Uniswap/permit2/blob/main/src/Permit2.sol) | [0x000000000022d473030f116ddee9f6b43ac78ba3](https://etherscan.io/address/0x000000000022d473030f116ddee9f6b43ac78ba3#code) | [0x000000000022d473030f116ddee9f6b43ac78ba3](https://arbiscan.io/address/0x000000000022d473030f116ddee9f6b43ac78ba3#code) | [0x000000000022d473030f116ddee9f6b43ac78ba3](https://sepolia.etherscan.io/address/0x000000000022d473030f116ddee9f6b43ac78ba3#code) | [0x000000000022d473030f116ddee9f6b43ac78ba3](https://goerli.etherscan.io/address/0x000000000022d473030f116ddee9f6b43ac78ba3#code)
3535
[QuoterV2](./src/uniswap/v3-periphery/lens/QuoterV2.sol) | [0x5493dF723c17B6A768aA61F79405bA56ffC5294a](https://etherscan.io/address/0x5493dF723c17B6A768aA61F79405bA56ffC5294a#code) | [0xff3957CB28aB34186543281e0bbe0De05C9e7D6D](https://arbiscan.io/address/0xff3957CB28aB34186543281e0bbe0De05C9e7D6D#code) | [0xb8EB27ca4715f7A04228c6F83935379D1f5AbABd](https://sepolia.etherscan.io/address/0xb8EB27ca4715f7A04228c6F83935379D1f5AbABd#code) | [0xBb473dbEF3363b5d7CDD5f12429Fd1C5F0c10499](https://goerli.etherscan.io/address/0xBb473dbEF3363b5d7CDD5f12429Fd1C5F0c10499#code)
36+
[ShutdownRedeemerUpgradeable](./src/ShutdownRedeemerUpgradeable.sol) | [0x96cf14C2A61b7142421397735e702e25f1aa7F30](https://etherscan.io/address/0x96cf14C2A61b7142421397735e702e25f1aa7F30#code) | N/A | [0x4b25288f40C7e00F93f0DA261C314d67b640c9dF](https://sepolia.etherscan.io/address/0x4b25288f40C7e00F93f0DA261C314d67b640c9dF#code) | N/A
3637
[SwapRouter](./src/uniswap/v3-periphery/SwapRouter.sol) | [0x1703f8111B0E7A10e1d14f9073F53680d64277A3](https://etherscan.io/address/0x1703f8111B0E7A10e1d14f9073F53680d64277A3#code) | [0xeA60242d7183E3d13Dc17fb2A4D0230d34eef502](https://arbiscan.io/address/0xeA60242d7183E3d13Dc17fb2A4D0230d34eef502#code) | [0xa7069da6a7e600e0348620484fD2B1f24E075d5f](https://sepolia.etherscan.io/address/0xa7069da6a7e600e0348620484fD2B1f24E075d5f#code) | [0x2E77A788fc66c5312354aaE0df1dC1895ce556f8](https://goerli.etherscan.io/address/0x2E77A788fc66c5312354aaE0df1dC1895ce556f8#code)
3738
[TickLens](./src/uniswap/v3-periphery/lens/TickLens.sol) | [0x1650115DDD287bE6F4972180d290D0FF89a42c40](https://etherscan.io/address/0x1650115DDD287bE6F4972180d290D0FF89a42c40#code) | [0x3f2797b0E19CBf2377B8DE2d1CEC2698AcA7b081](https://arbiscan.io/address/0x3f2797b0E19CBf2377B8DE2d1CEC2698AcA7b081#code) | [0xA13E04fAEe08E784A44C27e9E77Ca7a02D45BFd7](https://sepolia.etherscan.io/address/0xA13E04fAEe08E784A44C27e9E77Ca7a02D45BFd7#code) | [0x32A7703773cBc265cf79D49340F656837169FEcD](https://goerli.etherscan.io/address/0x32A7703773cBc265cf79D49340F656837169FEcD#code)
3839
[UniswapV3FactoryUpgradeable](./src/uniswap/v3-core/UniswapV3FactoryUpgradeable.sol) | [0xa70e10beB02fF9a44007D9D3695d4b96003db101](https://etherscan.io/address/0xa70e10beB02fF9a44007D9D3695d4b96003db101#code) | [0xF4D0512FB47319B0CE9144EF582862e2921CaBF8](https://arbiscan.io/address/0xF4D0512FB47319B0CE9144EF582862e2921CaBF8#code) | [0xDD2dce9C403f93c10af1846543870D065419E70b](https://sepolia.etherscan.io/address/0xDD2dce9C403f93c10af1846543870D065419E70b#code) | [0xf25081B098c5929A26F562aa2502795fE89BC73f](https://goerli.etherscan.io/address/0xf25081B098c5929A26F562aa2502795fE89BC73f#code)

addresses.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
"NonfungiblePositionManager": "0x26387fcA3692FCac1C1e8E4E2B22A6CF0d4b71bF",
1515
"permit2": "0x000000000022d473030f116ddee9f6b43ac78ba3",
1616
"QuoterV2": "0x5493dF723c17B6A768aA61F79405bA56ffC5294a",
17+
"ShutdownRedeemerUpgradeable": "0x96cf14C2A61b7142421397735e702e25f1aa7F30",
1718
"SwapRouter": "0x1703f8111B0E7A10e1d14f9073F53680d64277A3",
1819
"TickLens": "0x1650115DDD287bE6F4972180d290D0FF89a42c40",
1920
"UniswapV3FactoryUpgradeable": "0xa70e10beB02fF9a44007D9D3695d4b96003db101",
@@ -34,6 +35,7 @@
3435
"NonfungiblePositionManager": "0x8AD238377531547838370B9C4aC346b9Ed5466Ea",
3536
"permit2": "0x000000000022d473030f116ddee9f6b43ac78ba3",
3637
"QuoterV2": "0xff3957CB28aB34186543281e0bbe0De05C9e7D6D",
38+
"ShutdownRedeemerUpgradeable": "",
3739
"SwapRouter": "0xeA60242d7183E3d13Dc17fb2A4D0230d34eef502",
3840
"TickLens": "0x3f2797b0E19CBf2377B8DE2d1CEC2698AcA7b081",
3941
"UniswapV3FactoryUpgradeable": "0xF4D0512FB47319B0CE9144EF582862e2921CaBF8",
@@ -55,6 +57,7 @@
5557
"NonfungiblePositionManager": "0xA9bCC1e29d3460177875f68fDCC0264D22c40BF0",
5658
"permit2": "0x000000000022d473030f116ddee9f6b43ac78ba3",
5759
"QuoterV2": "0xb8EB27ca4715f7A04228c6F83935379D1f5AbABd",
60+
"ShutdownRedeemerUpgradeable": "0x4b25288f40C7e00F93f0DA261C314d67b640c9dF",
5861
"SwapRouter": "0xa7069da6a7e600e0348620484fD2B1f24E075d5f",
5962
"TickLens": "0xA13E04fAEe08E784A44C27e9E77Ca7a02D45BFd7",
6063
"UniswapV3FactoryUpgradeable": "0xDD2dce9C403f93c10af1846543870D065419E70b",
@@ -75,6 +78,7 @@
7578
"NonfungiblePositionManager": "0xDa9411C5455a1bfDb527d0988c0A2764E2a104be",
7679
"permit2": "0x000000000022d473030f116ddee9f6b43ac78ba3",
7780
"QuoterV2": "0xBb473dbEF3363b5d7CDD5f12429Fd1C5F0c10499",
81+
"ShutdownRedeemerUpgradeable": "",
7882
"SwapRouter": "0x2E77A788fc66c5312354aaE0df1dC1895ce556f8",
7983
"TickLens": "0x32A7703773cBc265cf79D49340F656837169FEcD",
8084
"UniswapV3FactoryUpgradeable": "0xf25081B098c5929A26F562aa2502795fE89BC73f",

deploy/ShutdownRedeemer.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import { HardhatRuntimeEnvironment, Network } from "hardhat/types";
2+
import { DeployFunction } from "hardhat-deploy/types";
3+
import { deployShutdownRedeemer } from "./modules/ShutdownRedeemer";
4+
5+
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
6+
const { shutdownRedeemer } = await deployShutdownRedeemer({
7+
hre,
8+
});
9+
};
10+
export default func;
11+
func.tags = ["ShutdownRedeemer"];
12+
func.dependencies = [];

deploy/modules/ShutdownRedeemer.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
import { HardhatRuntimeEnvironment } from "hardhat/types";
2+
import { getConfig, handleUpgradeDeploy } from "../utils";
3+
4+
export const deployShutdownRedeemer = async ({
5+
hre,
6+
}: {
7+
hre: HardhatRuntimeEnvironment;
8+
}) => {
9+
const { deployer, config } = await getConfig(hre);
10+
11+
const shutdownRedeemer = await handleUpgradeDeploy({
12+
hre,
13+
contractName: "ShutdownRedeemerUpgradeable",
14+
deployOptions: {
15+
from: deployer,
16+
args: [config.v2VaultFactory],
17+
proxy: {
18+
proxyContract: "OpenZeppelinTransparentProxy",
19+
execute: {
20+
init: {
21+
methodName: "__ShutdownRedeemer_init",
22+
args: [],
23+
},
24+
},
25+
},
26+
log: true,
27+
},
28+
});
29+
30+
return {
31+
shutdownRedeemer: shutdownRedeemer.address,
32+
};
33+
};

0 commit comments

Comments
 (0)