Skip to content

Commit aadd335

Browse files
committed
swell
1 parent 1222f1c commit aadd335

5 files changed

+59
-3
lines changed

deploy/gov-bridge-swellchain.ts

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import { HardhatRuntimeEnvironment } from 'hardhat/types';
2+
import { DeployFunction } from 'hardhat-deploy/types';
3+
import { ADDRESSES, CONSTANTS } from '../helpers/gov-constants';
4+
5+
const func: DeployFunction = async function (hre: HardhatRuntimeEnvironment) {
6+
const { deployments, getNamedAccounts } = hre;
7+
const { deploy, log } = deployments;
8+
const { deployer } = await getNamedAccounts();
9+
10+
log(`Deployer: ${deployer}\n`);
11+
12+
const optimisticGov = await deployments.getOrNull('SwellchainOptimisticGov');
13+
14+
if (optimisticGov) {
15+
log(`Reusing optimistic governance at: ${optimisticGov.address}`);
16+
} else {
17+
await deploy('SwellchainOptimisticGov', {
18+
args: [
19+
ADDRESSES['OVM_L2_MESSENGER'],
20+
ADDRESSES['ETHEREUM_GOV_EXECUTOR_SEPOLIA'],
21+
CONSTANTS['DELAY'],
22+
CONSTANTS['GRACE_PERIOD'],
23+
CONSTANTS['MIN_DELAY'],
24+
CONSTANTS['MAX_DELAY'],
25+
ADDRESSES['OVM_GUARDIAN'],
26+
],
27+
contract: 'OptimismBridgeExecutor',
28+
from: deployer,
29+
log: true,
30+
});
31+
}
32+
};
33+
34+
export default func;
35+
func.dependencies = [];
36+
func.tags = ['SwellchainOptimisticGov'];

hardhat.config.ts

+3
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import {
2222
eEthereumNetwork,
2323
eNetwork,
2424
eOptimismNetwork,
25+
eSwellchainNetwork,
2526
ePolygonNetwork,
2627
eXDaiNetwork,
2728
} from './helpers/types';
@@ -174,6 +175,8 @@ const hardhatConfig: HardhatUserConfig = {
174175
l1: 'sepolia',
175176
},
176177
},
178+
[eSwellchainNetwork.main]: getCommonNetworkConfig(eSwellchainNetwork.main, 1923),
179+
[eSwellchainNetwork.testnet]: getCommonNetworkConfig(eSwellchainNetwork.testnet, 1924),
177180
hardhat: {
178181
accounts: accounts.map(({ secretKey, balance }: { secretKey: string; balance: string }) => ({
179182
privateKey: secretKey,

helper-hardhat-config.ts

+3
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import {
33
eEthereumNetwork,
44
eOptimismNetwork,
55
ePolygonNetwork,
6+
eSwellchainNetwork,
67
eXDaiNetwork,
78
iParamsPerNetwork,
89
} from './helpers/types';
@@ -31,4 +32,6 @@ export const NETWORKS_RPC_URL: iParamsPerNetwork<string> = {
3132
[eArbitrumNetwork.arbitrumTestnet]: `https://sepolia-rollup.arbitrum.io/rpc`,
3233
[eOptimismNetwork.main]: `https://opt-mainnet.g.alchemy.com/v2/${ALCHEMY_KEY}`,
3334
[eOptimismNetwork.testnet]: "https://sepolia.optimism.io",
35+
[eSwellchainNetwork.main]: "https://swell-mainnet.alt.technology",
36+
[eSwellchainNetwork.testnet]: "https://swell-testnet.alt.technology",
3437
};

helpers/types.ts

+14-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@ export type eNetwork =
77
| ePolygonNetwork
88
| eXDaiNetwork
99
| eArbitrumNetwork
10-
| eOptimismNetwork;
10+
| eOptimismNetwork
11+
| eSwellchainNetwork;
1112

1213
export enum eEthereumNetwork {
1314
goerli = 'goerli',
@@ -23,6 +24,11 @@ export enum ePolygonNetwork {
2324
mumbai = 'mumbai',
2425
}
2526

27+
export enum eSwellchainNetwork {
28+
main = 'swellchain',
29+
testnet = 'swell_testnet',
30+
}
31+
2632
export enum eXDaiNetwork {
2733
xdai = 'xdai',
2834
}
@@ -53,7 +59,8 @@ export type iParamsPerNetwork<T> =
5359
| iPolygonParamsPerNetwork<T>
5460
| iXDaiParamsPerNetwork<T>
5561
| iArbitrumParamsPerNetwork<T>
56-
| iOptimismParamsPerNetwork<T>;
62+
| iOptimismParamsPerNetwork<T>
63+
| iSwellchainParamsPerNetwork<T>;
5764

5865
export interface iParamsPerNetworkAll<T>
5966
extends iEthereumParamsPerNetwork<T>,
@@ -88,6 +95,11 @@ export interface iOptimismParamsPerNetwork<T> {
8895
[eOptimismNetwork.testnet]: T;
8996
}
9097

98+
export interface iSwellchainParamsPerNetwork<T> {
99+
[eSwellchainNetwork.main]: T;
100+
[eSwellchainNetwork.testnet]: T;
101+
}
102+
91103
export interface ObjectString {
92104
[key: string]: string;
93105
}

package.json

+3-1
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@
3434
"deploy:optimism:testnet": "hardhat --network optimisticSepolia deploy --tags 'OptimisticGov'",
3535
"deploy:optimism:mainnet": "hardhat --network optimism deploy --tags 'OptimisticGov'",
3636
"deploy:arbitrum:testnet": "hardhat --network arbitrum-testnet deploy --tags 'ArbitrumGov'",
37-
"deploy:arbitrum:mainnet": "hardhat --network arbitrum deploy --tags 'ArbitrumGov'"
37+
"deploy:arbitrum:mainnet": "hardhat --network arbitrum deploy --tags 'ArbitrumGov'",
38+
"deploy:swellchain:testnet": "hardhat --network swell_testnet deploy --tags 'SwellchainOptimisticGov'",
39+
"deploy:swellchain:mainnet": "hardhat --network swellchain deploy --tags 'SwellchainOptimisticGov'"
3840
},
3941
"devDependencies": {
4042
"@aave/governance-v2": "^1.0.0",

0 commit comments

Comments
 (0)