Skip to content

Commit

Permalink
Merge pull request #365 from VenusProtocol/vip/ven-2743
Browse files Browse the repository at this point in the history
[VEN-2743]: XVS vault on zksync mainnet
  • Loading branch information
GitGuru7 authored Sep 6, 2024
2 parents cc2b65f + bfafaaf commit 1fc4a93
Show file tree
Hide file tree
Showing 9 changed files with 2,941 additions and 0 deletions.
79 changes: 79 additions & 0 deletions multisig/proposals/zksyncmainnet/vip-003/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
import { NETWORK_ADDRESSES } from "src/networkAddresses";
import { makeProposal } from "src/utils";

const { zksyncmainnet } = NETWORK_ADDRESSES;

export const XVS_STORE = "0x84266F552756cBed893b1FFA85248cD99501e3ce";
export const ACM = "0x526159A92A82afE5327d37Ef446b68FD9a5cA914";

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

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

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

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

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

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

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

{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [
zksyncmainnet.XVS_VAULT_PROXY,
"setWithdrawalLockingPeriod(address,uint256,uint256)",
zksyncmainnet.GUARDIAN,
],
},
{
target: zksyncmainnet.XVS_VAULT_PROXY,
signature: "add(address,uint256,address,uint256,uint256)",
params: [zksyncmainnet.XVS, 100, zksyncmainnet.XVS, "0", 604800],
},
{
target: zksyncmainnet.XVS_VAULT_PROXY,
signature: "pause()",
params: [],
},
]);
};

export default vip003;
126 changes: 126 additions & 0 deletions multisig/simulations/zksyncmainnet/vip-003/abi/acm.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
[
{ "inputs": [], "stateMutability": "nonpayable", "type": "constructor" },
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" },
{ "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" }
],
"name": "RoleAdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "sender", "type": "address" }
],
"name": "RoleGranted",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{ "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "indexed": true, "internalType": "address", "name": "account", "type": "address" },
{ "indexed": true, "internalType": "address", "name": "sender", "type": "address" }
],
"name": "RoleRevoked",
"type": "event"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [{ "internalType": "bytes32", "name": "role", "type": "bytes32" }],
"name": "getRoleAdmin",
"outputs": [{ "internalType": "bytes32", "name": "", "type": "bytes32" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "contractAddress", "type": "address" },
{ "internalType": "string", "name": "functionSig", "type": "string" },
{ "internalType": "address", "name": "accountToPermit", "type": "address" }
],
"name": "giveCallPermission",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "internalType": "address", "name": "account", "type": "address" }
],
"name": "grantRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "internalType": "address", "name": "account", "type": "address" }
],
"name": "hasRole",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "account", "type": "address" },
{ "internalType": "string", "name": "functionSig", "type": "string" }
],
"name": "isAllowedToCall",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "internalType": "address", "name": "account", "type": "address" }
],
"name": "renounceRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "address", "name": "contractAddress", "type": "address" },
{ "internalType": "string", "name": "functionSig", "type": "string" },
{ "internalType": "address", "name": "accountToRevoke", "type": "address" }
],
"name": "revokeCallPermission",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{ "internalType": "bytes32", "name": "role", "type": "bytes32" },
{ "internalType": "address", "name": "account", "type": "address" }
],
"name": "revokeRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [{ "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }],
"name": "supportsInterface",
"outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
"stateMutability": "view",
"type": "function"
}
]
Loading

0 comments on commit 1fc4a93

Please sign in to comment.