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-2880] Deploy Prime to Base Sepolia and Mainnet #432

Merged
merged 31 commits into from
Dec 18, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
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
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
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
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
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
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
137 changes: 137 additions & 0 deletions multisig/proposals/basemainnet/vip-005/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,137 @@
import { makeProposal } from "../../../../src/utils";

const ACM = "0x9E6CeEfDC6183e4D0DF8092A9B90cDF659687daB";
const XVS_VAULT_PROXY = "0x708B54F2C3f3606ea48a8d94dab88D9Ab22D7fCd";
const PRIME_LIQUIDITY_PROVIDER = "0xcB293EB385dEFF2CdeDa4E7060974BB90ee0B208";
const PRIME = "0xD2e84244f1e9Fca03Ff024af35b8f9612D5d7a30";
const GUARDIAN = "0x1803Cf1D3495b43cC628aa1d8638A981F8CD341C";
const XVS = "0xebB7873213c8d1d9913D8eA39Aa12d74cB107995";
const POOL_REGISTRY = "0xeef902918DdeCD773D4B422aa1C6e1673EB9136F";
const COMPTROLLER_CORE = "0x0C7973F9598AA62f9e03B94E92C967fD5437426C";

const PRIME_POOL_ID = 0;

export const vip005 = () => {
return makeProposal([
{
target: PRIME,
signature: "initializeV2(address)",
params: [POOL_REGISTRY],
},
{
target: PRIME_LIQUIDITY_PROVIDER,
signature: "acceptOwnership()",
params: [],
},
{
target: PRIME,
signature: "acceptOwnership()",
params: [],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "setTokensDistributionSpeed(address[],uint256[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "setMaxTokensDistributionSpeed(address[],uint256[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "setMaxLoopsLimit(uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "pauseFundsTransfer()", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "resumeFundsTransfer()", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "updateAlpha(uint128,uint128)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "updateMultipliers(address,uint256,uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "setStakedAt(address[],uint256[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "addMarket(address,address,uint256,uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "setLimit(uint256,uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "setMaxLoopsLimit(uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "issue(bool,address[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "burn(address)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "togglePause()", GUARDIAN],
},
{
target: PRIME_LIQUIDITY_PROVIDER,
signature: "setPrimeToken(address)",
params: [PRIME],
},
{
target: XVS_VAULT_PROXY,
signature: "setPrimeToken(address,address,uint256)",
params: [PRIME, XVS, PRIME_POOL_ID],
},
{
target: PRIME,
signature: "setLimit(uint256,uint256)",
params: [
0, // irrevocable
0, // revocable
],
},
{
target: PRIME_LIQUIDITY_PROVIDER,
signature: "pauseFundsTransfer()",
params: [],
},
{
target: XVS_VAULT_PROXY,
signature: "resume()",
params: [],
},
{
target: COMPTROLLER_CORE,
signature: "setPrimeToken(address)",
params: [PRIME],
},
]);
};
chechu marked this conversation as resolved.
Show resolved Hide resolved

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

import { makeProposal } from "../../../../src/utils";

const { basemainnet } = NETWORK_ADDRESSES;

export const ACM = "0x9E6CeEfDC6183e4D0DF8092A9B90cDF659687daB";
const DEFAULT_ADMIN_ROLE = "0x0000000000000000000000000000000000000000000000000000000000000000";

export const vip006 = () => {
return makeProposal([
{
target: ACM,
signature: "grantRole(bytes32,address)",
params: [DEFAULT_ADMIN_ROLE, basemainnet.NORMAL_TIMELOCK],
},
]);
};
export default vip006;
135 changes: 135 additions & 0 deletions multisig/proposals/basesepolia/vip-005/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
import { makeProposal } from "../../../../src/utils";

const ACM = "0x724138223D8F76b519fdE715f60124E7Ce51e051";
const XVS_VAULT_PROXY = "0x9b5D0aDfCEcC8ed422d714EcbcE2FFA436e269B8";
const PRIME_LIQUIDITY_PROVIDER = "0xb5BA66311C5f9A5C9d3CeE0183F5426DD694dE37";
const PRIME = "0x15A1AC7fA14C5900Ba93853375d66b6bB6A83B50";
const GUARDIAN = "0xdf3b635d2b535f906BB02abb22AED71346E36a00";
const XVS = "0xE657EDb5579B82135a274E85187927C42E38C021";
const POOL_REGISTRY = "0xCa330282BEeb07a81963336d0bf8f5f34317916c";
const COMPTROLLER_CORE = "0x272795dd6c5355CF25765F36043F34014454Eb5b";

const PRIME_POOL_ID = 0;

export const vip005 = () => {
return makeProposal([
{
chechu marked this conversation as resolved.
Show resolved Hide resolved
target: PRIME,
signature: "initializeV2(address)",
params: [POOL_REGISTRY],
},
{
target: PRIME_LIQUIDITY_PROVIDER,
signature: "acceptOwnership()",
params: [],
},
{
target: PRIME,
signature: "acceptOwnership()",
params: [],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "setTokensDistributionSpeed(address[],uint256[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "setMaxTokensDistributionSpeed(address[],uint256[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "setMaxLoopsLimit(uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "pauseFundsTransfer()", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME_LIQUIDITY_PROVIDER, "resumeFundsTransfer()", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "updateAlpha(uint128,uint128)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "updateMultipliers(address,uint256,uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "setStakedAt(address[],uint256[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "addMarket(address,address,uint256,uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "setLimit(uint256,uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "setMaxLoopsLimit(uint256)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "issue(bool,address[])", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "burn(address)", GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [PRIME, "togglePause()", GUARDIAN],
},
{
target: PRIME_LIQUIDITY_PROVIDER,
signature: "setPrimeToken(address)",
params: [PRIME],
},
{
target: XVS_VAULT_PROXY,
signature: "setPrimeToken(address,address,uint256)",
params: [PRIME, XVS, PRIME_POOL_ID],
},
{
target: PRIME,
signature: "setLimit(uint256,uint256)",
params: [
0, // irrevocable
0, // revocable
],
},
{
target: PRIME_LIQUIDITY_PROVIDER,
signature: "pauseFundsTransfer()",
params: [],
},
{
target: XVS_VAULT_PROXY,
signature: "resume()",
params: [],
},
chechu marked this conversation as resolved.
Show resolved Hide resolved
{
target: COMPTROLLER_CORE,
signature: "setPrimeToken(address)",
params: [PRIME],
},
]);
};
19 changes: 19 additions & 0 deletions multisig/proposals/basesepolia/vip-006/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { NETWORK_ADDRESSES } from "src/networkAddresses";

import { makeProposal } from "../../../../src/utils";

const { basesepolia } = NETWORK_ADDRESSES;

export const ACM = "0x724138223D8F76b519fdE715f60124E7Ce51e051";
const DEFAULT_ADMIN_ROLE = "0x0000000000000000000000000000000000000000000000000000000000000000";

export const vip007 = () => {
return makeProposal([
{
target: ACM,
signature: "grantRole(bytes32,address)",
params: [DEFAULT_ADMIN_ROLE, basesepolia.NORMAL_TIMELOCK],
},
]);
};
export default vip007;
Loading
Loading