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-2682]: Enable bsc, arbitrum, sepolia, opbnb testnet -> zksync sepolia bridge #342

Merged
merged 11 commits into from
Sep 2, 2024
16 changes: 16 additions & 0 deletions multisig/proposals/arbitrumsepolia/vip-005/addendum.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { makeProposal } from "../../../../src/utils";

export const PSR = "0x09267d30798B59c581ce54E861A084C6FC298666";
export const POOL_REGISTRY = "0xf93Df3135e0D555185c0BC888073374cA551C5fE";

const vip005 = () => {
return makeProposal([
{
target: PSR,
signature: "setPoolRegistry(address)",
params: [POOL_REGISTRY],
},
]);
};

export default vip005;
45 changes: 39 additions & 6 deletions multisig/proposals/arbitrumsepolia/vip-011/index.ts
Original file line number Diff line number Diff line change
@@ -1,14 +1,47 @@
import { makeProposal } from "../../../../src/utils";
import { parseUnits } from "ethers/lib/utils";
import { LzChainId } from "src/types";
import { makeProposal } from "src/utils";

export const PSR = "0x09267d30798B59c581ce54E861A084C6FC298666";
export const POOL_REGISTRY = "0xf93Df3135e0D555185c0BC888073374cA551C5fE";
const XVS_BRIDGE_ADMIN = "0xc94578caCC89a29B044a0a1D54d20d48A645E5C8";

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_SEPOLIA_TRUSTED_REMOTE = "0x760461ccb2508caaa2ece0c28af3a4707b853043";

const vip011 = () => {
return makeProposal([
{
target: PSR,
signature: "setPoolRegistry(address)",
params: [POOL_REGISTRY],
target: XVS_BRIDGE_ADMIN,
signature: "setTrustedRemoteAddress(uint16,bytes)",
params: [LzChainId.zksyncsepolia, ZKSYNC_SEPOLIA_TRUSTED_REMOTE],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMinDstGas(uint16,uint16,uint256)",
params: [LzChainId.zksyncsepolia, 0, MIN_DST_GAS],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyLimit(uint16,uint256)",
params: [LzChainId.zksyncsepolia, MAX_DAILY_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncsepolia, SINGLE_SEND_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxDailyReceiveLimit(uint16,uint256)",
params: [LzChainId.zksyncsepolia, MAX_DAILY_RECEIVE_LIMIT],
},
{
target: XVS_BRIDGE_ADMIN,
signature: "setMaxSingleReceiveTransactionLimit(uint16,uint256)",
params: [LzChainId.zksyncsepolia, SINGLE_RECEIVE_LIMIT],
},
]);
};
Expand Down
49 changes: 49 additions & 0 deletions multisig/proposals/opbnbtestnet/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 = "0x19252AFD0B2F539C400aEab7d460CBFbf74c17ff";

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_SEPOLIA_TRUSTED_REMOTE = "0x760461ccb2508caaa2ece0c28af3a4707b853043";

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

export default vip020;
49 changes: 49 additions & 0 deletions multisig/proposals/sepolia/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 = "0xd3c6bdeeadB2359F726aD4cF42EAa8B7102DAd9B";

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_SEPOLIA_TRUSTED_REMOTE = "0x760461ccb2508caaa2ece0c28af3a4707b853043";

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

export default vip057;
35 changes: 35 additions & 0 deletions multisig/simulations/arbitrumsepolia/vip-005/addendum.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import { expect } from "chai";
import { Contract } from "ethers";
import { ethers } from "hardhat";

import { forking, pretendExecutingVip } from "../../../../src/vip-framework/index";
import vip005, { POOL_REGISTRY, PSR } from "../../../proposals/arbitrumsepolia/vip-005/addendum";
import PSR_ABI from "./abi/protocolShareReserve.json";

const OLD_POOL_REGISTRY = "0x6866b2BDaaEf6648ddd5b678B3e9f3352bF3d2A5";

forking(57920209, async () => {
let protocolShareReserve: Contract;

before(async () => {
protocolShareReserve = await ethers.getContractAt(PSR_ABI, PSR);
});

describe("Pre tx checks", () => {
it("PSR should contain old PoolRegistry address", async () => {
const poolRegistry = await protocolShareReserve.poolRegistry();
expect(poolRegistry).equals(OLD_POOL_REGISTRY);
});
});

describe("Post tx checks", () => {
before(async () => {
await pretendExecutingVip(await vip005());
});

it("PSR should contain correct PoolRegistry address", async () => {
const poolRegistry = await protocolShareReserve.poolRegistry();
expect(poolRegistry).equals(POOL_REGISTRY);
});
});
});
Loading
Loading