Skip to content

Commit

Permalink
Merge branch 'feat/ven-2875' into feat/ven-2877
Browse files Browse the repository at this point in the history
  • Loading branch information
web3rover committed Dec 6, 2024
2 parents 40e25e3 + aa87809 commit 2b872be
Show file tree
Hide file tree
Showing 28 changed files with 6,398 additions and 1,343 deletions.
3 changes: 2 additions & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ ACHIVE_NODE_zksyncsepolia=https://zksync-sepolia.g.alchemy.com/v2/<YOUR_KEY_HERE
ARCHIVE_NODE_zksyncmainnet=https://open-platform.nodereal.io/<YOUR_KEY_HERE>/zksync
ARCHIVE_NODE_opsepolia=https://sepolia.optimism.io
ARCHIVE_NODE_opmainnet=https://opt-mainnet.nodereal.io/v1/<YOUR_KEY_HERE>
ARCHIVE_NODE_basesepolia=https://base-sepolia.blastapi.io/<YOUR_KEY_HERE>
ARCHIVE_NODE_basesepolia=https://sepolia.base.org
ARCHIVE_NODE_basemainnet=https://mainnet.base.org
10 changes: 9 additions & 1 deletion hardhat.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ const BLOCK_GAS_LIMIT_PER_NETWORK = {
opsepolia: 60000000,
opmainnet: 60000000,
basesepolia: 60000000,
basemainnet: 60000000,
};

task("propose", "Propose proposal")
Expand Down Expand Up @@ -119,10 +120,11 @@ const config: HardhatUserConfig = {
[ChainId.opbnbtestnet]: assumeCancun,
[ChainId.opbnbmainnet]: assumeCancun,
[ChainId.arbitrumsepolia]: assumeCancun,
[ChainId.arbitrumone]: assumeCancun,
// [ChainId.arbitrumone]: assumeCancun,
[ChainId.opsepolia]: assumeCancun,
[ChainId.opmainnet]: assumeCancun,
[ChainId.basesepolia]: assumeCancun,
[ChainId.basemainnet]: assumeCancun,
},
},
bsctestnet: {
Expand Down Expand Up @@ -192,6 +194,12 @@ const config: HardhatUserConfig = {
accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
blockGasLimit: BLOCK_GAS_LIMIT_PER_NETWORK.basesepolia,
},
basemainnet: {
url: process.env.ARCHIVE_NODE_basemainnet || "https://mainnet.base.org",
chainId: 8453,
accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
blockGasLimit: BLOCK_GAS_LIMIT_PER_NETWORK.basemainnet,
},
},
paths: {
tests: "./tests",
Expand Down
2 changes: 1 addition & 1 deletion hardhat.config.zksync.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,7 @@ const config: HardhatUserConfig = {
},
zksynctestnode: {
url: process.env.ZKSYNC_ERA_LOCAL_TEST_NODE || "http://localhost:8011",
chainId: 300, // change it to 300 for zksyncsepolia
chainId: 324, // change it to 300 for zksyncsepolia
accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
blockGasLimit: BLOCK_GAS_LIMIT_PER_NETWORK.zksyncsepolia,
timeout: 2000000000,
Expand Down
183 changes: 183 additions & 0 deletions multisig/proposals/basemainnet/vip-000/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,183 @@
import { NETWORK_ADDRESSES } from "src/networkAddresses";
import { makeProposal } from "src/utils";

const { basemainnet } = NETWORK_ADDRESSES;

export const TREASURY = "0xbefD8d06f403222dd5E8e37D2ba93320A97939D1";
export const ACM = "0x9E6CeEfDC6183e4D0DF8092A9B90cDF659687daB";
export const BOUND_VALIDATOR = "0x66dDE062D3DC1BB5223A0096EbB89395d1f11DB0";

const CHAINLINK_BTC_FEED = "0x07DA0E54543a844a80ABE69c8A12F22B3aA59f9D";
const CHAINLINK_ETH_FEED = "0x71041dddad3595F9CEd3DcCFBe3D1F4b0a16Bb70";
const CHAINLINK_USDC_FEED = "0x7e860098F58bBFC8648a4311b374B1D669a2bc6B";
const REDSTONE_XVS_FEED = "0x5ED849a45B4608952161f45483F4B95BCEa7f8f0";

const cbBTC = "0xcbb7c0000ab88b473b1f5afd9ef808440eed33bf";
const WETH = "0x4200000000000000000000000000000000000006";
const USDC = "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913";
const XVS = "0xebB7873213c8d1d9913D8eA39Aa12d74cB107995";

const STALE_PERIOD_26H = 60 * 60 * 26; // 26 hours (pricefeeds with heartbeat of 24 hr)
const STALE_PERIOD_30M = 60 * 30; // 30 minutes (pricefeeds with heartbeat of 20 minutes)

const vip000 = () => {
return makeProposal([
{
target: TREASURY,
signature: "acceptOwnership()",
params: [],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.RESILIENT_ORACLE, "pause()", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.RESILIENT_ORACLE, "unpause()", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.RESILIENT_ORACLE, "setOracle(address,address,uint8)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.RESILIENT_ORACLE, "enableOracle(address,uint8,bool)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.RESILIENT_ORACLE, "setTokenConfig(TokenConfig)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.CHAINLINK_ORACLE, "setTokenConfig(TokenConfig)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.CHAINLINK_ORACLE, "setDirectPrice(address,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.REDSTONE_ORACLE, "setTokenConfig(TokenConfig)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.REDSTONE_ORACLE, "setDirectPrice(address,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [BOUND_VALIDATOR, "setValidateConfig(ValidateConfig)", basemainnet.GUARDIAN],
},
{
target: basemainnet.RESILIENT_ORACLE,
signature: "acceptOwnership()",
params: [],
},
{
target: basemainnet.CHAINLINK_ORACLE,
signature: "acceptOwnership()",
params: [],
},
{
target: basemainnet.REDSTONE_ORACLE,
signature: "acceptOwnership()",
params: [],
},
{
target: BOUND_VALIDATOR,
signature: "acceptOwnership()",
params: [],
},
{
target: basemainnet.CHAINLINK_ORACLE,
signature: "setTokenConfig((address,address,uint256))",
params: [[cbBTC, CHAINLINK_BTC_FEED, STALE_PERIOD_30M]],
},
{
target: basemainnet.RESILIENT_ORACLE,
signature: "setTokenConfig((address,address[3],bool[3]))",
params: [
[
cbBTC,
[
basemainnet.CHAINLINK_ORACLE,
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000",
],
[true, false, false],
],
],
},
{
target: basemainnet.CHAINLINK_ORACLE,
signature: "setTokenConfig((address,address,uint256))",
params: [[WETH, CHAINLINK_ETH_FEED, STALE_PERIOD_30M]],
},
{
target: basemainnet.RESILIENT_ORACLE,
signature: "setTokenConfig((address,address[3],bool[3]))",
params: [
[
WETH,
[
basemainnet.CHAINLINK_ORACLE,
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000",
],
[true, false, false],
],
],
},
{
target: basemainnet.CHAINLINK_ORACLE,
signature: "setTokenConfig((address,address,uint256))",
params: [[USDC, CHAINLINK_USDC_FEED, STALE_PERIOD_26H]],
},
{
target: basemainnet.RESILIENT_ORACLE,
signature: "setTokenConfig((address,address[3],bool[3]))",
params: [
[
USDC,
[
basemainnet.CHAINLINK_ORACLE,
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000",
],
[true, false, false],
],
],
},
{
target: basemainnet.REDSTONE_ORACLE,
signature: "setTokenConfig((address,address,uint256))",
params: [[XVS, REDSTONE_XVS_FEED, STALE_PERIOD_26H]],
},
{
target: basemainnet.RESILIENT_ORACLE,
signature: "setTokenConfig((address,address[3],bool[3]))",
params: [
[
XVS,
[
basemainnet.REDSTONE_ORACLE,
"0x0000000000000000000000000000000000000000",
"0x0000000000000000000000000000000000000000",
],
[true, false, false],
],
],
},
]);
};

export default vip000;
Loading

0 comments on commit 2b872be

Please sign in to comment.