Skip to content

Commit

Permalink
Merge pull request #362 from VenusProtocol/feat/VEN-2741
Browse files Browse the repository at this point in the history
[VEN-2741]: Bridge configurations on zksync mainnet
  • Loading branch information
GitGuru7 authored Aug 30, 2024
2 parents 3430bf2 + 4c39b2e commit 397f850
Show file tree
Hide file tree
Showing 23 changed files with 13,511 additions and 0 deletions.
49 changes: 49 additions & 0 deletions multisig/proposals/arbitrumone/vip-011/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { parseUnits } from "ethers/lib/utils";
import { LzChainId } from "src/types";
import { makeProposal } from "src/utils";

const XVS_BRIDGE_ADMIN = "0xf5d81C6F7DAA3F97A6265C8441f92eFda22Ad784";

export const MIN_DST_GAS = "300000";
export const SINGLE_SEND_LIMIT = parseUnits("10000", 18);
export const MAX_DAILY_SEND_LIMIT = parseUnits("50000", 18);
export const SINGLE_RECEIVE_LIMIT = parseUnits("10200", 18);
export const MAX_DAILY_RECEIVE_LIMIT = parseUnits("51000", 18);
export const ZKSYNC_TRUSTED_REMOTE = "0x16a62b534e09a7534cd5847cfe5bf6a4b0c1b116";

const vip011 = () => {
return makeProposal([
{
target: XVS_BRIDGE_ADMIN,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.zksyncmainnet, ZKSYNC_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMinDstGas(uint16,uint16,uint256)",
params: [LzChainId.zksyncmainnet, 0, MIN_DST_GAS],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, MAX_DAILY_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, SINGLE_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyReceiveLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, MAX_DAILY_RECEIVE_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleReceiveTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, SINGLE_RECEIVE_LIMIT],
},
]);
};

export default vip011;
49 changes: 49 additions & 0 deletions multisig/proposals/ethereum/vip-057/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { parseUnits } from "ethers/lib/utils";
import { LzChainId } from "src/types";
import { makeProposal } from "src/utils";

const XVS_BRIDGE_ADMIN = "0x9C6C95632A8FB3A74f2fB4B7FfC50B003c992b96";

export const MIN_DST_GAS = "300000";
export const SINGLE_SEND_LIMIT = parseUnits("10000", 18);
export const MAX_DAILY_SEND_LIMIT = parseUnits("50000", 18);
export const SINGLE_RECEIVE_LIMIT = parseUnits("10200", 18);
export const MAX_DAILY_RECEIVE_LIMIT = parseUnits("51000", 18);
export const ZKSYNC_TRUSTED_REMOTE = "0x16a62b534e09a7534cd5847cfe5bf6a4b0c1b116";

const vip057 = () => {
return makeProposal([
{
target: XVS_BRIDGE_ADMIN,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.zksyncmainnet, ZKSYNC_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMinDstGas(uint16,uint16,uint256)",
params: [LzChainId.zksyncmainnet, 0, MIN_DST_GAS],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, MAX_DAILY_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, SINGLE_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyReceiveLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, MAX_DAILY_RECEIVE_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleReceiveTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, SINGLE_RECEIVE_LIMIT],
},
]);
};

export default vip057;
49 changes: 49 additions & 0 deletions multisig/proposals/opbnbmainnet/vip-020/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { parseUnits } from "ethers/lib/utils";
import { LzChainId } from "src/types";
import { makeProposal } from "src/utils";

const XVS_BRIDGE_ADMIN = "0x52fcE05aDbf6103d71ed2BA8Be7A317282731831";

export const MIN_DST_GAS = "300000";
export const SINGLE_SEND_LIMIT = parseUnits("10000", 18);
export const MAX_DAILY_SEND_LIMIT = parseUnits("50000", 18);
export const SINGLE_RECEIVE_LIMIT = parseUnits("10200", 18);
export const MAX_DAILY_RECEIVE_LIMIT = parseUnits("51000", 18);
export const ZKSYNC_TRUSTED_REMOTE = "0x16a62b534e09a7534cd5847cfe5bf6a4b0c1b116";

const vip020 = () => {
return makeProposal([
{
target: XVS_BRIDGE_ADMIN,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.zksyncmainnet, ZKSYNC_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMinDstGas(uint16,uint16,uint256)",
params: [LzChainId.zksyncmainnet, 0, MIN_DST_GAS],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, MAX_DAILY_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, SINGLE_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyReceiveLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, MAX_DAILY_RECEIVE_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleReceiveTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncmainnet, SINGLE_RECEIVE_LIMIT],
},
]);
};

export default vip020;
202 changes: 202 additions & 0 deletions multisig/proposals/zksyncmainnet/vip-002/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,202 @@
import { parseUnits } from "ethers/lib/utils";
import { NETWORK_ADDRESSES } from "src/networkAddresses";
import { LzChainId } from "src/types";
import { makeProposal } from "src/utils";

const { zksyncmainnet } = NETWORK_ADDRESSES;

const ACM = "0x526159A92A82afE5327d37Ef446b68FD9a5cA914";

export const XVS_BRIDGE_ADMIN_PROXY = "0x2471043F05Cc41A6051dd6714DC967C7BfC8F902";
export const XVS = "0xD78ABD81a3D57712a3af080dc4185b698Fe9ac5A";
export const XVS_BRIDGE_DEST = "0x16a62B534e09A7534CD5847CFE5Bf6a4b0c1B116";

export const OPBNB_MAINNET_TRUSTED_REMOTE = "0x100d331c1b5dcd41eacb1eced0e83dcebf3498b2";
export const ETHEREUM_TRUSTED_REMOTE = "0x888e317606b4c590bbad88653863e8b345702633";
export const BNB_MAINNET_TRUSTED_REMOTE = "0xf8f46791e3db29a029ec6c9d946226f3c613e854";
export const ARBITRUM_ONE_REMOTE = "0x20cea49b5f7a6dbd78cae772ca5973ef360aa1e6";

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

const vip002 = () => {
return makeProposal([
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setSendVersion(uint16)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setReceiveVersion(uint16)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "forceResumeReceive(uint16,bytes)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setOracle(address)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxSingleTransactionLimit(uint16,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxDailyLimit(uint16,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxSingleReceiveTransactionLimit(uint16,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMaxDailyReceiveLimit(uint16,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "pause()", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "unpause()", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "removeTrustedRemote(uint16)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "dropFailedMessage(uint16,bytes,uint64)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setPrecrime(address)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setMinDstGas(uint16,uint16,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setPayloadSizeLimit(uint16,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setWhitelist(address,bool)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "setConfig(uint16,uint16,uint256,bytes)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "sweepToken(address,address,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "updateSendAndCallEnabled(bool)", zksyncmainnet.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)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS_BRIDGE_ADMIN_PROXY, "transferBridgeOwnership(address)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "migrateMinterTokens(address,address)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "setMintCap(address,uint256)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "updateBlacklist(address,bool)", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "pause()", zksyncmainnet.GUARDIAN],
},
{
target: ACM,
signature: "giveCallPermission(address,string,address)",
params: [XVS, "unpause()", zksyncmainnet.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_MAINNET_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_ONE_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setWhitelist(address,bool)",
params: [zksyncmainnet.VTREASURY, true],
},
{
target: XVS_BRIDGE_ADMIN_PROXY,
signature: "setWhitelist(address,bool)",
params: [zksyncmainnet.GUARDIAN, true],
},
{
target: XVS,
signature: "setMintCap(address,uint256)",
params: [XVS_BRIDGE_DEST, XVS_MINT_LIMIT],
},
]);
};

export default vip002;
Loading

0 comments on commit 397f850

Please sign in to comment.