Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[VEN-2875] [VEN-2877] Deploy XVS and XVS Bridge on Base Sepolia and Mainnet #424

Merged
merged 89 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
89 commits
Select commit Hold shift + click to select a range
6091f5b
fix: added vip
web3rover Nov 12, 2024
de13feb
fix: added simulation
web3rover Nov 12, 2024
0a172a0
fix: fixed lint
web3rover Nov 12, 2024
8c32965
fix: added vip and simulation
web3rover Nov 14, 2024
5e31b90
fix: updated addresses
web3rover Nov 14, 2024
39a3df4
fix: updated addresses
web3rover Nov 14, 2024
bebd06d
Merge branch 'feat/ven-2872' into feat/ven-2875
web3rover Nov 15, 2024
981dfab
fix: merge conflict
web3rover Nov 15, 2024
2da2b08
fix: added vip and simulation
web3rover Nov 15, 2024
3d15dec
wip - vip
web3rover Nov 15, 2024
c2cc770
fix; fixed lint
web3rover Nov 15, 2024
8230554
fix: fixed lint
web3rover Nov 15, 2024
d535f6f
Merge branch 'feat/ven-2878' into feat/ven-2879
web3rover Nov 15, 2024
18c39f1
fix: add other markets
web3rover Nov 15, 2024
6728485
fix: stale addresses and simulations
GitGuru7 Nov 22, 2024
a8bf207
chore: update NTG address
GitGuru7 Nov 22, 2024
ae4aada
feat: added vip for prime deployment
web3rover Nov 26, 2024
3368314
fix: fixed simulation
web3rover Nov 26, 2024
4759ecd
feat: wip - vip for multichain governance
web3rover Nov 27, 2024
c5077d3
feat: wip - bsctestnet vip
web3rover Nov 28, 2024
bbbfde3
fix: fixed simulation
web3rover Nov 28, 2024
a4fc247
fix: call initialise v2 and set prime in comptroller
web3rover Nov 28, 2024
4015688
fix: fixed prime permissions
web3rover Nov 28, 2024
ceb81a0
Merge branch 'feat/ven-2880' into feat/ven-2882
web3rover Nov 29, 2024
f56cffc
feat: add remote commands to configure the bridge with Base
chechu Nov 21, 2024
fcfd214
Merge branch 'main' into feat/ven-2875
GitGuru7 Dec 2, 2024
bc201c2
fix: lint
GitGuru7 Dec 2, 2024
f000fb0
chore: add missing config to support basesepolia forks
chechu Dec 2, 2024
1d87ae9
fix: updated addresses
web3rover Dec 2, 2024
7b81d57
Merge branch 'feat/ven-2877' into feat/ven-2878
web3rover Dec 2, 2024
261ba72
Merge branch 'feat/ven-2878' of github.com:VenusProtocol/vips into fe…
web3rover Dec 2, 2024
8d40d6a
Merge branch 'feat/ven-2878' into feat/ven-2879
web3rover Dec 2, 2024
fa6d68e
Merge branch 'feat/ven-2879' into feat/ven-2880
web3rover Dec 2, 2024
995c857
fix: updated addresses
web3rover Dec 2, 2024
01ef99e
Merge branch 'feat/ven-2880' into feat/ven-2882
web3rover Dec 2, 2024
953bec0
fix: fixed permissions
web3rover Dec 2, 2024
d39d16b
Merge branch 'feat/ven-2875' into feat/ven-2877
chechu Dec 2, 2024
40e25e3
fixup! fix: updated addresses
chechu Dec 2, 2024
70aa9ed
chore: update the PoolRegistry address
chechu Dec 3, 2024
6ae925a
Merge branch 'feat/ven-2877' into feat/ven-2878
chechu Dec 3, 2024
722b2be
Merge branch 'feat/ven-2878' into feat/ven-2879
chechu Dec 3, 2024
1292331
feat: remove unneeded commands
chechu Dec 3, 2024
3d96b4c
fix: fixed description
web3rover Dec 3, 2024
f383be6
fix: remove grant permissions
web3rover Dec 4, 2024
7630d77
fix: added revoke commands
web3rover Dec 4, 2024
8609c4a
fix: fixed description
web3rover Dec 4, 2024
8e3499b
Merge branch 'feat/ven-2879' into feat/ven-2880
chechu Dec 4, 2024
cbbaa17
chore: move to a new temporary ID to avoid conflicts
chechu Dec 4, 2024
70affb5
Merge branch 'feat/ven-2880' into feat/ven-2882
chechu Dec 4, 2024
4e86f8f
fix: updated revoke commands index
web3rover Dec 4, 2024
d6d4a92
fix: rebased
web3rover Dec 5, 2024
cf90e54
feat: added base mainnet multisig
web3rover Dec 5, 2024
cc903e4
fix: added multichain vips for mainnet
web3rover Dec 5, 2024
f00f513
fix: skip cancun for arb
web3rover Dec 5, 2024
753adc4
fix: fixed zksyncmainnet simulation
web3rover Dec 5, 2024
aa87809
fix: fixed lint
web3rover Dec 6, 2024
2b872be
Merge branch 'feat/ven-2875' into feat/ven-2877
web3rover Dec 6, 2024
5307e0c
fix: added multisig for base mainnet
web3rover Dec 6, 2024
32e2b96
fix: fixed lint
web3rover Dec 6, 2024
1ca05ea
Merge branch 'feat/ven-2875' into feat/ven-2877
web3rover Dec 6, 2024
ed7c460
fix: fixed mainnet simulation
web3rover Dec 6, 2024
e852026
Merge branch 'feat/ven-2877' into feat/ven-2878
web3rover Dec 6, 2024
2855ba9
feat: added multisig for mainnet
web3rover Dec 6, 2024
9c0e4cf
Merge branch 'feat/ven-2878' into feat/ven-2879
web3rover Dec 6, 2024
98c7fd4
feat: added mainnet multisig txn
web3rover Dec 6, 2024
0f57412
Merge branch 'feat/ven-2879' into feat/ven-2880
web3rover Dec 9, 2024
d2788e7
Merge branch 'feat/ven-2880' of github.com:VenusProtocol/vips into fe…
web3rover Dec 9, 2024
4c326b8
fix: added prime on base mainnet
web3rover Dec 9, 2024
d272e1e
Merge branch 'feat/ven-2880' into feat/ven-2882
web3rover Dec 10, 2024
b4f4773
fix: set checksummed and right address for trusted sources
chechu Dec 12, 2024
6c90046
Merge branch 'main' into feat/ven-2875
chechu Dec 12, 2024
a765909
fix: update the block number of simulations after configuring permiss…
chechu Dec 12, 2024
4d64e26
fix: fixed opmainnet and zksyncmainnet simulations
web3rover Dec 13, 2024
fefcc63
fixup! fix: fixed opmainnet and zksyncmainnet simulations
chechu Dec 14, 2024
a65b8b3
feat: set description and ID for the VIP 407
chechu Dec 14, 2024
5462f50
fixup! feat: set description and ID for the VIP 407
kkirka Dec 14, 2024
8ebcad5
feat: update simulation after executing previous TX
chechu Dec 14, 2024
6d3814e
feat: update simulation after executing previous TX
chechu Dec 15, 2024
2914730
feat: added base mainnet vip
web3rover Dec 10, 2024
3952040
feat: refund venus stars account
web3rover Dec 16, 2024
948154d
feat: set id for VIP-408
kkirka Dec 16, 2024
f7f352b
feat: add title and description for VIP-408
kkirka Dec 16, 2024
d758ce5
Merge pull request #433 from VenusProtocol/feat/ven-2882
chechu Dec 18, 2024
c27d26f
chore: fix linter
chechu Dec 18, 2024
9ed2d59
Merge pull request #432 from VenusProtocol/feat/ven-2880
chechu Dec 18, 2024
a6572cf
Merge pull request #427 from VenusProtocol/feat/ven-2879
chechu Dec 18, 2024
d66e5cd
Merge pull request #426 from VenusProtocol/feat/ven-2878
chechu Dec 18, 2024
7cc0ff4
Merge pull request #425 from VenusProtocol/feat/ven-2877
chechu Dec 18, 2024
0599679
chore: set the right id for zksynctestnode on testnet
chechu Dec 18, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions hardhat.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ 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,
Expand Down Expand Up @@ -190,13 +190,13 @@ const config: HardhatUserConfig = {
},
basesepolia: {
url: process.env.ARCHIVE_NODE_basesepolia || "https://sepolia.base.org",
chainId: 84532,
chainId: ChainId.basesepolia,
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,
chainId: ChainId.basemainnet,
accounts: DEPLOYER_PRIVATE_KEY ? [`0x${DEPLOYER_PRIVATE_KEY}`] : [],
blockGasLimit: BLOCK_GAS_LIMIT_PER_NETWORK.basemainnet,
},
Expand Down
214 changes: 214 additions & 0 deletions multisig/proposals/basemainnet/vip-001/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,214 @@
import { parseUnits } from "ethers/lib/utils";
import { NETWORK_ADDRESSES } from "src/networkAddresses";
import { LzChainId } from "src/types";
import { makeProposal } from "src/utils";

const { basemainnet } = NETWORK_ADDRESSES;

const ACM = "0x9E6CeEfDC6183e4D0DF8092A9B90cDF659687daB";

export const XVS_BRIDGE_ADMIN_PROXY = "0x6303FEcee7161bF959d65df4Afb9e1ba5701f78e";
export const XVS = "0xebB7873213c8d1d9913D8eA39Aa12d74cB107995";
export const XVS_BRIDGE_DEST = "0x3dD92fB51a5d381Ae78E023dfB5DD1D45D2426Cd";

export const OPBNB_TRUSTED_REMOTE = "0x100D331C1B5Dcd41eACB1eCeD0e83DCEbf3498B2";
export const ETHEREUM_TRUSTED_REMOTE = "0x888E317606b4c590BBAD88653863e8B345702633";
export const BNB_MAINNET_TRUSTED_REMOTE = "0xf8F46791E3dB29a029Ec6c9d946226f3c613e854";
export const ARBITRUM_REMOTE = "0x20cEa49B5F7a6DBD78cAE772CA5973eF360AA1e6";
export const ZYSYNC_REMOTE = "0x16a62B534e09A7534CD5847CFE5Bf6a4b0c1B116";
export const OP_TRUSTED_REMOTE = "0xbBe46bAec851355c3FC4856914c47eB6Cea0B8B4";

export const XVS_MINT_LIMIT = parseUnits("500000", 18);

const vip001 = () => {
return makeProposal([
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setSendVersion(uint16)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setReceiveVersion(uint16)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "forceResumeReceive(uint16,bytes)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setOracle(address)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxSingleTransactionLimit(uint16,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxDailyLimit(uint16,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxSingleReceiveTransactionLimit(uint16,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxDailyReceiveLimit(uint16,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "pause()", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "unpause()", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "removeTrustedRemote(uint16)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "dropFailedMessage(uint16,bytes,uint64)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setPrecrime(address)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMinDstGas(uint16,uint16,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setPayloadSizeLimit(uint16,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setWhitelist(address,bool)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setConfig(uint16,uint16,uint256,bytes)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "sweepToken(address,address,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "updateSendAndCallEnabled(bool)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "mint(address,uint256)", XVS_BRIDGE_DEST],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "burn(address,uint256)", XVS_BRIDGE_DEST],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setTrustedRemoteAddress(uint16,bytes)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "transferBridgeOwnership(address)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "migrateMinterTokens(address,address)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "setMintCap(address,uint256)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "updateBlacklist(address,bool)", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "pause()", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "unpause()", basemainnet.GUARDIAN],
},
{ target: XVS_BRIDGE_ADMIN_PROXY, signature: "acceptOwnership()", params: [] },
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.bscmainnet, BNB_MAINNET_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.opbnbmainnet, OPBNB_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.ethereum, ETHEREUM_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.arbitrumone, ARBITRUM_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.zksyncmainnet, ZYSYNC_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.opmainnet, OP_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setWhitelist(address,bool)",
params: [basemainnet.VTREASURY, true],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setWhitelist(address,bool)",
params: [basemainnet.GUARDIAN, true],
},
{
target: XVS,
signature: "setMintCap(address,uint256)",
params: [XVS_BRIDGE_DEST, XVS_MINT_LIMIT],
},
]);
};

export default vip001;
76 changes: 76 additions & 0 deletions multisig/proposals/basemainnet/vip-002/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
import { NETWORK_ADDRESSES } from "src/networkAddresses";
import { makeProposal } from "src/utils";

const { basemainnet } = NETWORK_ADDRESSES;

export const XVS_STORE = "0x11b084Cfa559a82AAC0CcD159dBea27899c7955A";
export const ACM = "0x9E6CeEfDC6183e4D0DF8092A9B90cDF659687daB";

const vip002 = () => {
return makeProposal([
{
target: basemainnet.XVS_VAULT_PROXY,
signature: "_acceptAdmin()",
params: [],
},

{
target: XVS_STORE,
signature: "acceptAdmin()",
params: [],
},

{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.XVS_VAULT_PROXY, "pause()", basemainnet.GUARDIAN],
},

{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.XVS_VAULT_PROXY, "resume()", basemainnet.GUARDIAN],
},

{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.XVS_VAULT_PROXY, "add(address,uint256,address,uint256,uint256)", basemainnet.GUARDIAN],
},

{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.XVS_VAULT_PROXY, "set(address,uint256,uint256)", basemainnet.GUARDIAN],
},

{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [basemainnet.XVS_VAULT_PROXY, "setRewardAmountPerBlockOrSecond(address,uint256)", basemainnet.GUARDIAN], // func name changed from setRewardAmountPerBlock to setRewardAmountPerBlockOrSecond
},

{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [
basemainnet.XVS_VAULT_PROXY,
"setWithdrawalLockingPeriod(address,uint256,uint256)",
basemainnet.GUARDIAN,
],
},

{
target: basemainnet.XVS_VAULT_PROXY,
signature: "add(address,uint256,address,uint256,uint256)",
params: [basemainnet.XVS, 100, basemainnet.XVS, "0", 604800],
},
{
target: basemainnet.XVS_VAULT_PROXY,
signature: "pause()",
params: [],
},
]);
};

export default vip002;
50 changes: 50 additions & 0 deletions multisig/proposals/basemainnet/vip-003/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import { NETWORK_ADDRESSES } from "src/networkAddresses";
import { makeProposal } from "src/utils";

const { basemainnet } = NETWORK_ADDRESSES;

export const ACM = "0x9E6CeEfDC6183e4D0DF8092A9B90cDF659687daB";
export const PSR = "0x3565001d57c91062367C3792B74458e3c6eD910a";
export const NATIVE_TOKEN_GATEWAY_CORE_POOL = "0x8e890ca3829c740895cdEACd4a3BE36ff9343643";

const vip003 = () => {
return makeProposal([
{
target: PSR,
signature: "acceptOwnership()",
params: [],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PSR, "addOrUpdateDistributionConfigs(DistributionConfig[])", basemainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PSR, "removeDistributionConfig(Schema,address)", basemainnet.GUARDIAN],
},
{
target: PSR,
signature: "addOrUpdateDistributionConfigs((uint8,uint16,address)[])",
params: [
[
[0, 10000, basemainnet.VTREASURY],
[1, 10000, basemainnet.VTREASURY],
],
],
},
{
target: PSR,
signature: "setPoolRegistry(address)",
params: [basemainnet.POOL_REGISTRY],
},
{
target: NATIVE_TOKEN_GATEWAY_CORE_POOL,
signature: "acceptOwnership()",
params: [],
},
]);
};

export default vip003;
Loading
Loading