Skip to content

Commit

Permalink
Remove Ropsten and upgrade to Athens3 (#106)
Browse files Browse the repository at this point in the history
* Remove Ropsten and upgrade to Athens3

* rename Athens version
  • Loading branch information
andresaiello authored Jul 10, 2023
1 parent f73a62a commit 2df7647
Show file tree
Hide file tree
Showing 18 changed files with 107 additions and 120 deletions.
9 changes: 3 additions & 6 deletions packages/addresses-tools/src/addresses.helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,8 +52,7 @@ export const getScanVariable = ({ customNetworkName }: { customNetworkName?: str
"klaytn-baobab": "",
"klaytn-cypress": "",
"polygon-localnet": "",
"polygon-mumbai": process.env.POLYGONSCAN_API_KEY || "",
ropsten: process.env.ETHERSCAN_API_KEY || ""
"polygon-mumbai": process.env.POLYGONSCAN_API_KEY || ""
};

return v[networkName];
Expand All @@ -76,8 +75,7 @@ export const getExplorerUrl = ({ customNetworkName }: { customNetworkName?: stri
"klaytn-baobab": "https://baobab.scope.klaytn.com/",
"klaytn-cypress": "https://scope.klaytn.com/",
"polygon-localnet": "",
"polygon-mumbai": "https://mumbai.polygonscan.com/",
ropsten: "https://ropsten.etherscan.io/"
"polygon-mumbai": "https://mumbai.polygonscan.com/"
};

return v[networkName];
Expand All @@ -96,8 +94,7 @@ export const getGasSymbolByNetwork = (networkName: NetworkName): string => {
"klaytn-baobab": "KLAY",
"klaytn-cypress": "KLAY",
"polygon-localnet": "MATIC",
"polygon-mumbai": "MATIC",
ropsten: "BYEBYE"
"polygon-mumbai": "MATIC"
};

return v[networkName];
Expand Down
1 change: 1 addition & 0 deletions packages/addresses-tools/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
export * from "./addresses.helpers";
export * from "./networks";
export * from "./system-addresses.helpers";
12 changes: 3 additions & 9 deletions packages/addresses-tools/src/networks.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,8 @@ export const getHardhatConfigNetworks = (PRIVATE_KEYS: string[]): NetworksUserCo
// chainId: 7001,
gas: 5000000,
gasPrice: 80000000000,
url: `https://api.athens2.zetachain.com/evm`,
// url: `https://api.athens2.zetachain.com/evm`, //A2
url: `https://zetachain-athens-evm.blockpi.network/v1/rpc/public`, //A3
},
"bsc-localnet": {
gas: 5000000,
Expand Down Expand Up @@ -66,19 +67,12 @@ export const getHardhatConfigNetworks = (PRIVATE_KEYS: string[]): NetworksUserCo
gasPrice: 80000000000,
url: "https://rpc.ankr.com/polygon_mumbai",
},
ropsten: {
accounts: PRIVATE_KEYS,
gas: 9000000,
gasPrice: 80000000000,
url: "https://ropsten.infura.io/v3/",
},
});

export const getHardhatConfigScanners = () => ({
apiKey: {
bscTestnet: process.env.BSCSCAN_API_KEY,
goerli: process.env.ETHERSCAN_API_KEY,
polygonMumbai: process.env.POYLGONSCAN_API_KEY,
ropsten: process.env.ETHERSCAN_API_KEY,
polygonMumbai: process.env.POYLGONSCAN_API_KEY
},
});
49 changes: 49 additions & 0 deletions packages/addresses-tools/src/system-addresses.helpers.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { NetworkName } from "@zetachain/addresses";
import { getAddress, getZRC20Address as getZRC20AddressFromProtocol } from "@zetachain/protocol-contracts/dist/lib";

export type AthensVersion = "Athens2" | "Athens3";

export type ZRC20 = "gETH" | "tBNB" | "tBTC" | "tMATIC";

//@dev: Legacy addresses to make it simple if is needed to run a script pointing to Athens2
const ATHENS2_SYSTEM_CONTRACT = "0x239e96c8f17C85c30100AC26F635Ea15f23E9c67";
const ATHENS2_ZRC20Addresses: Record<ZRC20, string> = {
gETH: "0x91d18e54DAf4F677cB28167158d6dd21F6aB3921",
tBNB: "0x13A0c5930C028511Dc02665E7285134B6d11A5f4",
tBTC: "0x48f80608B672DC30DC7e3dbBd0343c5F02C738Eb",
tMATIC: "0xd97B1de3619ed2c6BEb3860147E30cA8A7dC9891"
};

export const getSystemContractAddress = (version: AthensVersion = "Athens3") => {
if (version === "Athens2") {
return ATHENS2_SYSTEM_CONTRACT;
}
return getAddress("systemContract", "zeta_testnet");
};

export const getZRC20Address = (version: AthensVersion = "Athens3") => {
if (version === "Athens2") {
return ATHENS2_ZRC20Addresses;
}
const ZRC20Addresses: Record<ZRC20, string> = {
gETH: getZRC20AddressFromProtocol("bsc_testnet"),
tBNB: getZRC20AddressFromProtocol("bsc_testnet"),
// tBTC: getZRC20AddressFromProtocol(""),
tBTC: "0x0",
tMATIC: getZRC20AddressFromProtocol("mumbai_testnet")
};

return ZRC20Addresses;
};

export type SwappableNetwork = Extract<NetworkName, "bitcoin-test" | "bsc-testnet" | "goerli" | "polygon-mumbai">;

export const isSwappableNetwork = (network: string): network is SwappableNetwork =>
network === "bitcoin-test" || network === "bsc-testnet" || network === "goerli" || network === "polygon-mumbai";

export const ChainToZRC20: Record<SwappableNetwork, ZRC20> = {
"bitcoin-test": "tBTC",
"bsc-testnet": "tBNB",
goerli: "gETH",
"polygon-mumbai": "tMATIC"
};
77 changes: 26 additions & 51 deletions packages/addresses/src/addresses.athens.json
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
{
"bsc-testnet": {
"connector": "0x000054d3A0Bc83Ec7808F52fCdC28A96c89F6C5c",
"connector": "0x0000ecb8cdd25a18f12daa23f6422e07fbf8b9e1",
"crossChainCounter": "",
"crossChainNft": "0xF7f6534C8f70f6001Fc267b55abfAA8B8a41Ea2e",
"crossChainNft": "",
"dai": "",
"immutableCreate2Factory": "0x095a03c6a68137fE9a566bBc3e552F299d8b886d",
"multiChainSwap": "0xa0b5cbdc4d14c4f4d36483ec0de310919f3b2d90",
"multiChainSwap": "",
"multiChainSwapZetaConnector": "",
"multiChainValue": "0x54284C0b4948FE2F93D3a0Dc17fA3587b16eE19F",
"multiChainValue": "0x064516547ECd3b2D1709e1b2798Aae92b1C8a84C",
"tridentPoolFactory": "",
"tss": "0x7c125C1d515b8945841b3d5144a060115C58725F",
"tssUpdater": "0x7274d1d5dddef36aac53dd45b93487ce01ef0a55",
"tss": "0x8531a5aB847ff5B22D855633C25ED1DA3255247e",
"tssUpdater": "0x55122f7590164Ac222504436943FAB17B62F5d7d",
"uniswapV2Factory": "",
"uniswapV2Router02": "0x9Ac64Cc6e4415144C455BD8E4837Fea55603e5c3",
"uniswapV3NftManager": "",
Expand All @@ -20,22 +20,22 @@
"weth9": "",
"zetaSwap": "",
"zetaSwapBtcInbound": "",
"zetaToken": "0x000080383847bd75f91c168269aa74004877592f",
"zetaTokenConsumerUniV2": "0xa67b03930eb53d0462dCc0835e97964C062042fb",
"zetaToken": "0x0000c9ec4042283e8139c74f4c64bcd1e0b9b54f",
"zetaTokenConsumerUniV2": "",
"zetaTokenConsumerUniV3": ""
},
"goerli": {
"connector": "0x00007d0BA516a2bA02D77907d3a1348C1187Ae62",
"connector": "0x00005e3125aba53c5652f9f0ce1a4cf91d8b15ea",
"crossChainCounter": "",
"crossChainNft": "0xfE9eb065cab82421D06C8eD41c31Beb473a5Fa7e",
"crossChainNft": "",
"dai": "",
"immutableCreate2Factory": "0x095a03c6a68137fE9a566bBc3e552F299d8b886d",
"multiChainSwap": "0x805fE47D1FE7d86496753bB4B36206953c1ae660",
"multiChainSwap": "",
"multiChainSwapZetaConnector": "",
"multiChainValue": "0x31F884940B3876290A16B183b841bbE7E4965743",
"multiChainValue": "0x14BeC0E4A8e7bF7A02Af54Ad81a57a9fcA4D37Fd",
"tridentPoolFactory": "",
"tss": "0x7c125C1d515b8945841b3d5144a060115C58725F",
"tssUpdater": "0x7274d1d5dddef36aac53dd45b93487ce01ef0a55",
"tss": "0x8531a5aB847ff5B22D855633C25ED1DA3255247e",
"tssUpdater": "0x55122f7590164Ac222504436943FAB17B62F5d7d",
"uniswapV2Factory": "",
"uniswapV2Router02": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
"uniswapV3NftManager": "",
Expand All @@ -45,22 +45,22 @@
"weth9": "",
"zetaSwap": "",
"zetaSwapBtcInbound": "",
"zetaToken": "0xCc7bb2D219A0FC08033E130629C2B854b7bA9195",
"zetaTokenConsumerUniV2": "0xDDB1C86c69f258F6d33377a8725404E4393326bB",
"zetaToken": "0x0000c304d2934c00db1d51995b9f6996affd17c0",
"zetaTokenConsumerUniV2": "",
"zetaTokenConsumerUniV3": ""
},
"polygon-mumbai": {
"connector": "0x000054d3A0Bc83Ec7808F52fCdC28A96c89F6C5c",
"connector": "0x00005e3125aba53c5652f9f0ce1a4cf91d8b15ea",
"crossChainCounter": "",
"crossChainNft": "",
"dai": "",
"immutableCreate2Factory": "0x095a03c6a68137fE9a566bBc3e552F299d8b886d",
"multiChainSwap": "0xaf28cb0d9E045170E1642321B964740784E7dC64",
"multiChainSwap": "",
"tridentPoolFactory": "",
"multiChainSwapZetaConnector": "",
"multiChainValue": "0x15D434879B65d7008Dec00f191e578D8E90D026b",
"tss": "0x7c125C1d515b8945841b3d5144a060115C58725F",
"tssUpdater": "0x7274d1d5dddef36aac53dd45b93487ce01ef0a55",
"multiChainValue": "0x14BeC0E4A8e7bF7A02Af54Ad81a57a9fcA4D37Fd",
"tss": "0x8531a5aB847ff5B22D855633C25ED1DA3255247e",
"tssUpdater": "0x55122f7590164Ac222504436943FAB17B62F5d7d",
"uniswapV2Factory": "",
"uniswapV2Router02": "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D",
"uniswapV3NftManager": "",
Expand All @@ -70,18 +70,17 @@
"weth9": "0x9c3C9283D3e44854697Cd22D3Faa240Cfb032889",
"zetaSwap": "",
"zetaSwapBtcInbound": "",
"zetaToken": "0x000080383847bd75f91c168269aa74004877592f",
"zetaToken": "0x0000c9ec4042283e8139c74f4c64bcd1e0b9b54f",
"zetaTokenConsumerUniV2": "",
"zetaTokenConsumerUniV3": "0xCa7185cA7AB06fA60060d4D65C50b6883cc70419"
"zetaTokenConsumerUniV3": ""
},
"ropsten": {
"klaytn-baobab": {
"connector": "",
"crossChainCounter": "",
"crossChainNft": "",
"dai": "",
"immutableCreate2Factory": "",
"multiChainSwap": "",
"multiChainSwapZetaConnector": "",
"multiChainValue": "",
"tridentPoolFactory": "",
"tss": "",
Expand All @@ -99,30 +98,6 @@
"zetaTokenConsumerUniV2": "",
"zetaTokenConsumerUniV3": ""
},
"klaytn-baobab": {
"connector": "0x000054d3A0Bc83Ec7808F52fCdC28A96c89F6C5c",
"crossChainCounter": "",
"crossChainNft": "",
"dai": "",
"immutableCreate2Factory": "0x095a03c6a68137fE9a566bBc3e552F299d8b886d",
"multiChainSwap": "0xf254632444601120166809AB7B0A4fC59a3d8A61",
"multiChainValue": "0x4f97Bc7ed459111296583e92a62f17D20B20825d",
"tridentPoolFactory": "0x2be2C91cCA2df52b41a9e42723c46fD029359c95",
"tss": "0x7c125C1d515b8945841b3d5144a060115C58725F",
"tssUpdater": "0x7274d1d5dddef36aac53dd45b93487ce01ef0a55",
"uniswapV2Factory": "",
"uniswapV2Router02": "",
"uniswapV3NftManager": "",
"uniswapV3Quoter": "0x42271971dbF42fbfEaF7F428604a86760300cB5B",
"uniswapV3Router": "0x42271971dbF42fbfEaF7F428604a86760300cB5B",
"usdc": "",
"weth9": "0x0339d5Eb6D195Ba90B13ed1BCeAa97EbD198b106",
"zetaSwap": "",
"zetaSwapBtcInbound": "",
"zetaToken": "0x000080383847bD75F91c168269Aa74004877592f",
"zetaTokenConsumerUniV2": "",
"zetaTokenConsumerUniV3": ""
},
"athens": {
"connector": "",
"crossChainCounter": "",
Expand All @@ -142,8 +117,8 @@
"uniswapV3Router": "",
"usdc": "",
"weth9": "0x5F0b1a82749cb4E2278EC87F8BF6B618dC71a8bf",
"zetaSwap": "0x71Ec5c05Aa669c4922569c1D33F7a81aaa218138",
"zetaSwapBtcInbound": "0x79c73Ba355f84feFFcDA2D2Cd4D61b9c795919Cc",
"zetaSwap": "0xd886b7Af031F9a505310bA01951948BD1d673aF1",
"zetaSwapBtcInbound": "0x064516547ECd3b2D1709e1b2798Aae92b1C8a84C",
"zetaToken": "",
"zetaTokenConsumerUniV2": "",
"zetaTokenConsumerUniV3": ""
Expand Down
7 changes: 2 additions & 5 deletions packages/addresses/src/addresses.helpers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,13 @@ export type TestnetNetworkName =
| "bsc-testnet"
| "goerli"
| "klaytn-baobab"
| "polygon-mumbai"
| "ropsten";
| "polygon-mumbai";
export type ZetaTestnetNetworkName = "athens";
export type TestnetAddressGroup = Record<TestnetNetworkName, NetworkAddresses>;
export const isTestnetNetworkName = (networkName: string): networkName is TestnetNetworkName =>
networkName === "goerli" ||
networkName === "bsc-testnet" ||
networkName === "polygon-mumbai" ||
networkName === "ropsten" ||
networkName === "klaytn-baobab" ||
networkName === "athens";
export const isZetaTestnet = (networkName: string | undefined): networkName is ZetaTestnetNetworkName =>
Expand Down Expand Up @@ -139,8 +137,7 @@ export const getChainId = (networkName: NetworkName) => {
"klaytn-baobab": 1001,
"klaytn-cypress": 8217,
"polygon-localnet": 80001,
"polygon-mumbai": 80001,
ropsten: 3
"polygon-mumbai": 80001
};

return chainIds[networkName];
Expand Down
6 changes: 0 additions & 6 deletions packages/example-contracts/lib/shared/network.constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -81,12 +81,6 @@ export const networkVariables: Record<NetworkName, NetworkVariables> = {
connectorAddress: "",
crossChainId: 0,
crossChainName: ""
},
ropsten: {
chainId: 0,
connectorAddress: "",
crossChainId: 0,
crossChainName: ""
}
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,6 @@ async function main() {
const contract = (await Factory.deploy(connectorAddress, zetaTokenAddress)) as MultiChainValue;
await contract.deployed();

//@ts-expect-error
console.log("MultiChainValue deployed to:", contract.address);

if (isZetaTestnet(ZETA_NETWORK)) {
Expand All @@ -42,7 +41,6 @@ async function main() {
(await (await contract.addAvailableChainId(getChainId("athens"))).wait().catch((e: any) => console.error(e)));
}

//@ts-expect-error
saveAddress("multiChainValue", contract.address);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ async function main() {

const amount = parseEther("1");

await zetaToken.approve(multiChainValueContract.address, amount.mul(10));
const tx = await zetaToken.approve(multiChainValueContract.address, amount.mul(10));
await tx.wait();

if (isZetaTestnet(ZETA_NETWORK)) {
networkName !== "goerli" &&
Expand Down Expand Up @@ -56,10 +57,10 @@ async function main() {
)
).wait());

networkName !== "ropsten" &&
networkName !== "athens" &&
(await (
await multiChainValueContract.send(
getChainId("ropsten"),
getChainId("athens"),
ethers.utils.solidityPack(["address"], [process.env.PUBLIC_KEY_1]),
amount
)
Expand Down
6 changes: 2 additions & 4 deletions packages/zevm-app-contracts/scripts/deploy.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import { BigNumber } from "@ethersproject/bignumber";
import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
import { getChainId, isNetworkName, NetworkName } from "@zetachain/addresses";
import { getSystemContractAddress } from "@zetachain/addresses-tools";
import { parseEther } from "ethers/lib/utils";
import { ethers, network } from "hardhat";

Expand All @@ -17,10 +18,7 @@ const networkName = network.name;
const REWARD_DURATION = BigNumber.from("604800"); // 1 week
const REWARDS_AMOUNT = parseEther("10");

//@todo: this is here because need to import address pkg but this pkg will be move to new repo,
// so will refactor when it will be done

export const SYSTEM_CONTRACT = "0x239e96c8f17C85c30100AC26F635Ea15f23E9c67";
const SYSTEM_CONTRACT = getSystemContractAddress();

interface Pair {
TokenA: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,11 @@
import { getSystemContractAddress } from "@zetachain/addresses-tools";
import { ethers } from "hardhat";

import { ZetaMultiOutput, ZetaMultiOutput__factory } from "../../typechain-types";
import { SYSTEM_CONTRACT } from "../systemConstants";

const main = async () => {
console.log(`Deploying MultiOutput...`);
const SYSTEM_CONTRACT = getSystemContractAddress();

const Factory = (await ethers.getContractFactory("ZetaMultiOutput")) as ZetaMultiOutput__factory;
const contract = (await Factory.deploy(SYSTEM_CONTRACT)) as ZetaMultiOutput;
Expand Down
24 changes: 0 additions & 24 deletions packages/zevm-example-contracts/scripts/systemConstants.ts

This file was deleted.

Loading

0 comments on commit 2df7647

Please sign in to comment.