Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
0d8d87f
feat: Add deployment script
vasinl124 Apr 5, 2024
375dc16
Merge pull request #96 from G7DAO/feat/reward-contract
vasinl124 Apr 5, 2024
77d1b88
Add user claim multiple rewards function
vasinl124 Apr 5, 2024
4ec0309
fixed failed test
vasinl124 Apr 5, 2024
f08c446
Merge pull request #97 from G7DAO/feat/user-claim-multiple-rewards
ogarciarevett Apr 5, 2024
79f3112
require to deposit all assets up to max supply to make sure there is …
vasinl124 Apr 5, 2024
c44d66c
Fix: fix broken tests
vasinl124 Apr 6, 2024
44fcac0
Merge pull request #98 from G7DAO/fix/deposit-max-supply
vasinl124 Apr 6, 2024
81bf71c
feat: Add G7 network
ogarciarevett Apr 8, 2024
6ea8d56
Merge pull request #99 from G7DAO/feat/g7-blockchain-connection
ogarciarevett Apr 8, 2024
af4087c
Fix: Reduce package.json
ogarciarevett Apr 9, 2024
a9c4429
Merge pull request #100 from G7DAO/fix/fix-package.json
ogarciarevett Apr 10, 2024
0ead074
fix: Fixed all issues from the audit
vasinl124 Apr 11, 2024
8cdb3b7
fix: Use SafeERC20 when transfer
vasinl124 Apr 11, 2024
1c93d95
Merge pull request #102 from G7DAO/fix/loot-drop-contract-audit-feedback
vasinl124 Apr 11, 2024
7d6bd76
Feat: Verify chainId and contractaddress with encodedData
vasinl124 Apr 11, 2024
e8f407e
Merge pull request #104 from G7DAO/fix/loot-drop-contract-audit-feedback
vasinl124 Apr 11, 2024
6e9840d
fix: Only ERC1155 will check for length of tokenId and amount should …
vasinl124 Apr 11, 2024
75168e5
Feat: Adding compound flag to avatar contract
ogarciarevett Apr 11, 2024
8121089
Test: Adding events and tests
ogarciarevett Apr 11, 2024
ce65907
Fix: Tracking baseSkinId by TokenId
ogarciarevett Apr 11, 2024
5ab2e61
Merge pull request #105 from G7DAO/fix/loot-drop-contract-audit-feedb…
vasinl124 Apr 11, 2024
1943ba3
Merge pull request #103 from G7DAO/feat/add-compound-avatar-uri
ogarciarevett Apr 12, 2024
4a19089
Feat: Add all l3 networks to the repo
ogarciarevett Apr 15, 2024
73cae40
Fix: Switch to mockERC20 args
ogarciarevett Apr 15, 2024
ef80867
Merge pull request #106 from G7DAO/feat/add-all-g7-networks
ogarciarevett Apr 15, 2024
e64c47e
feat: Add Upgrade script for Legacy Avatar Contract
vasinl124 Apr 16, 2024
82ad232
Merge pull request #107 from G7DAO/feat/upgrade-legacy-avatar
vasinl124 Apr 16, 2024
4dcda51
Chore: change to v2 contract
vasinl124 Apr 17, 2024
d5b9c5f
feat: Add upgradable check when deploy upgradable contract
vasinl124 Apr 17, 2024
4160b48
Merge pull request #108 from G7DAO/update-paymaster-payload
ogarciarevett Apr 17, 2024
edeafb0
Chore: Add audit report for Loot Drop contract
vasinl124 Apr 18, 2024
f6986c2
Merge pull request #109 from G7DAO/feat/add-lootdrop-audit-report
ogarciarevett Apr 18, 2024
84adc63
Fix: Fix items DNA replacement into the level contract
ogarciarevett Apr 19, 2024
dc48262
hotfix: fixing R4I specific claims
ogarciarevett Apr 19, 2024
c8bfe86
Fix: Adding right name for upgradeable contract
ogarciarevett Apr 19, 2024
7b8a092
Merge pull request #111 from G7DAO/fix/fix-itemsDNAAddress
ogarciarevett Apr 19, 2024
b0e415a
Merge pull request #112 from G7DAO/fix/items-reward-old-contract
ogarciarevett Apr 20, 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
64 changes: 64 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,3 +75,67 @@ npm test
```shell
npx hardhat flatten contracts/GameSummary.sol > .flat/GameSummary.sol
```

## Scripts

```json
{
"deployBridge:polygon:mainnet": "pnpm deploy:polygon:mainnet --name BridgePolygon",
"deployBridge:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name BridgeZkSync",
"deployERC20StakeUpgradeable:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name ERC20StakeV1",
"deployWhitelist:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name Whitelist",
"deployBridgeUpgradeable:polygon:mainnet": "pnpm deploy:polygon:mainnet --name BridgeUpgradeablePolygon",
"deployBridgeUpgradeable:zksync:mainnet": "pnpm deploy:ZkSync:mainnet --name BridgeUpgradeableZkSync",
"deployBurnableToken:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name ZkSpork",
"deployFreeMint:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name FreeMint",
"deployFreeMint:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name FreeMint",
"deployAvatars:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name Avatars",
"deployAvatars:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name Avatars",
"deployAvatarsUpgradeable:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name AvatarsUpgradable",
"deployAvatarsUpgradeable:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name AvatarsUpgradable",
"upgradeAvatars:ZkSync:mainnet": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeAvatars.mainnet.ts --config zkSync.config.ts --network zkSync",
"upgradeAvatars:ZkSync:sepolia": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeAvatars.testnet.ts --config zkSync.config.ts --network zkSyncSepolia",
"deployItems:arbitrum:one": "pnpm deploy:arbitrum:one --name Items",
"deployItems:arbitrum:sepolia": "pnpm deploy:arbitrum:sepolia --name Items",
"deployItems:polygon:mainnet": "pnpm deploy:polygon:mainnet --name Items",
"deployItems:polygon:mumbai": "pnpm deploy:polygon:mumbai --name Items",
"deployItems:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name Items",
"deployItems:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name Items",
"deployItemsUpgradeable:arbitrum:one": "pnpm deploy:arbitrum:one --name ItemsUpgradable",
"deployItemsUpgradeable:arbitrum:sepolia": "pnpm deploy:arbitrum:sepolia --name ItemsUpgradable",
"deployItemsUpgradeable:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name ItemsUpgradable",
"deployItemsUpgradeable:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name ItemsUpgradable",
"upgradeItem:ZkSync:mainnet": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeItem.mainnet.ts --config zkSync.config.ts --network zkSync",
"upgradeItem:ZkSync:sepolia": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeItem.testnet.ts --config zkSync.config.ts --network zkSyncSepolia",
"deployItemsReward:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name RewardItems",
"deployItemsReward:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name RewardItems",
"deployLevelsOnChain:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name Levels",
"deployLevelsOnChain:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name Levels",
"deployLevelsOnChainUpgradable:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name LevelsUpgradable",
"deployLevelsOnChainUpgradable:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name LevelsUpgradable",
"upgradeLevels:ZkSync:mainnet": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeLevels.mainnet.ts --config zkSync.config.ts --network zkSync",
"upgradeLevels:ZkSync:sepolia": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeLevels.testnet.ts --config zkSync.config.ts --network zkSyncSepolia",
"mintItemsReward:ZkSync:mainnet": "pnpm compile:zkSync && hardhat --config zkSync.config.ts deploy-zksync --network zkSync --script mints/mintRewardItems.ts",
"mintItemsReward:ZkSync:sepolia": "pnpm compile:zkSync && hardhat --config zkSync.config.ts deploy-zksync --network zkSyncSepolia --script mints/mintRewardItems.ts",
"deployMockERC20:ZkSync:sepolia": "pnpm compile:zkSync && hardhat run deploy/deployMockERC20.testnet.ts --network zkSyncSepolia --config zkSync.config.ts",
"deployNftGating:ZkSync:mainnet": "pnpm compile:zkSync && hardhat --config zkSync.config.ts deploy-zksync --network zkSync --script deployNFTGating.mainnet.ts",
"deployNftGating:ZkSync:sepolia": "pnpm compile:zkSync && hardhat --config zkSync.config.ts deploy-zksync --network zkSyncSepolia --script deployNFTGating.testnet.ts",
"deployERC20PythPaymaster:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name PaymasterPyth",
"deployERC20PythPaymaster:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name PaymasterPyth",
"deployERC20ChainlinkPaymaster:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name PaymasterChainlink",
"deployERC20ChainlinkPaymaster:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name PaymasterChainlink",
"deployERC20ChainlinkUpgradeablePaymaster:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name PaymasterChainlinkUpgradable",
"deployERC20ChainlinkUpgradeablePaymaster:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name PaymasterChainlinkUpgradable",
"upgradeERC20ChainlinkPaymaster:ZkSync:mainnet": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeERC20ChainlinkPaymaster.mainnet.ts --config zkSync.config.ts --network zkSync",
"deployGameSummary:mantle:mainnet": "pnpm deploy:mantle:mainnet --name GameSummary",
"deployGameSummary:mantle:wadsley": "pnpm deploy:mantle:wadsley --name GameSummary",
"deployBadge:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name Badge",
"deployBadge:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name Badge",
"deployBadgeUpgradeable:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name BadgeUpgradable",
"deployBadgeUpgradeable:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name BadgeUpgradable",
"upgradeBadge:ZkSync:mainnet": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeBadge.mainnet.ts --config zkSync.config.ts --network zkSync",
"upgradeBadge:ZkSync:sepolia": "pnpm compile:zkSync && hardhat run deploy/upgrades/upgradeBadge.testnet.ts --config zkSync.config.ts --network zkSyncSepolia",
"deploySkillTreeUpgradable:ZkSync:mainnet": "pnpm deploy:ZkSync:mainnet --name SkillTreeUpgradable",
"deploySkillTreeUpgradable:ZkSync:sepolia": "pnpm deploy:ZkSync:sepolia --name SkillTreeUpgradable"
}
```
Binary file added audits/NM0225_SUMMON_Loot_Drop.pdf
Binary file not shown.
55 changes: 42 additions & 13 deletions constants/constructor-args.ts
Original file line number Diff line number Diff line change
Expand Up @@ -82,15 +82,15 @@ export const ItemBoundIronWorksArgs: Soulbound1155Args = {

export const ItemsRewardBoundArgs = {
MAINNET: {
name: 'AchievoItemsReward',
symbol: 'AIR',
name: 'Roll For Initiative',
symbol: 'R4I',
defaultRewardId: 1,
isPaused: false,
devWallet: 'DEPLOYER_WALLET',
},
TESTNET: {
name: 'AchievoItemsReward',
symbol: 'AIR',
name: 'Roll For Initiative',
symbol: 'R4I',
defaultRewardId: 1,
isPaused: false,
devWallet: 'DEPLOYER_WALLET',
Expand Down Expand Up @@ -207,8 +207,8 @@ const PYTH_USDC_PRICE_ID_MAINNET = '0xeaa020c61cc479712813461ce153894a96a6c00b21
const PYTH_ETH_PRICE_ID_MAINNET = '0xff61491a931112ddf1bd8147cd1b641375f79f5825126d665480874634fd0ace';
const PYTH_ORACLE_ADDRESS_MAINNET = '0xf087c864AEccFb6A2Bf1Af6A0382B0d0f6c5D834';

const CHAINLINK_USDC_PRICE_ID_TESTNET = '0x37FBa63C443Ca1Bf262B9E6cc46c4B46273F687C';
const CHAINLINK_ETH_PRICE_ID_TESTNET = '0x2bBaff398B72d5B26f4f9B3397cfd9DC578a9f08';
const CHAINLINK_USDC_PRICE_ID_TESTNET = '0x1844478CA634f3a762a2E71E3386837Bd50C947F';
const CHAINLINK_ETH_PRICE_ID_TESTNET = '0xfEefF7c3fB57d18C5C6Cdd71e45D2D0b4F9377bF';

const CHAINLINK_USDC_PRICE_ID_MAINNET = '0x1824D297C6d6D311A204495277B63e943C2D376E';
const CHAINLINK_ETH_PRICE_ID_MAINNET = '0x6D41d1dc818112880b40e26BD6FD347E41008eDA';
Expand Down Expand Up @@ -244,9 +244,7 @@ export const ERC20ChainlinkPaymasterArgs = {
erc20FeedId: CHAINLINK_USDC_PRICE_ID_TESTNET,
ethFeedId: CHAINLINK_ETH_PRICE_ID_TESTNET,
fixedPrice: 1,
// This is in "false" because chainlink is not available on zkSync-sepolia yet, anyway check this link:
// https://docs.chain.link/data-feeds/price-feeds/addresses?network=zksync&page=1
useChainLink: false,
useChainLink: true,
},
};

Expand Down Expand Up @@ -383,12 +381,33 @@ export const BUIDLArgs = {
},
};

export const ERC20Args = {
MAINNET: {
name: 'FILL_ME',
symbol: 'FILL_ME',
decimals: 18,
developerAdmin: 'DEPLOYER_WALLET',
},
TESTNET: {
name: 'MOCKERC20',
symbol: 'ERC20',
decimals: 18,
developerAdmin: 'DEPLOYER_WALLET',
},
};

export const LootDropArgs = {
MAINNET: {
_uri: 'FILL_ME',
_devWallet: 'DEPLOYER_WALLET',
_managerWallet: 'DEPLOYER_WALLET',
_minterWallet: 'DEPLOYER_WALLET',
_rewardTokenAddress: `CONTRACT_${CONTRACT_NAME.RewardToken}`,
},
TESTNET: {
_uri: 'FILL_ME',
_devWallet: 'DEPLOYER_WALLET',
_managerWallet: 'DEPLOYER_WALLET',
_minterWallet: 'DEPLOYER_WALLET',
_rewardTokenAddress: `CONTRACT_${CONTRACT_NAME.RewardToken}`,
},
};

Expand All @@ -403,9 +422,19 @@ export const HelloWorldArgs = {

export const RewardTokenArgs = {
MAINNET: {
_uri: 'FILL_ME',
_name: 'RewardToken',
_symbol: 'RT',
_defaultTokenURI: 'FILL_ME',
_contractURI: 'FILL_ME',
_devWallet: 'DEPLOYER_WALLET',
_lootDropAddress: `CONTRACT_${CONTRACT_NAME.LootDrop}`,
},
TESTNET: {
_uri: 'FILL_ME',
_name: 'RainToken',
_symbol: 'RT',
_defaultTokenURI: 'FILL_ME',
_contractURI: 'FILL_ME',
_devWallet: 'DEPLOYER_WALLET',
_lootDropAddress: `CONTRACT_${CONTRACT_NAME.LootDrop}`,
},
};
11 changes: 8 additions & 3 deletions constants/contract.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
export enum CONTRACT_TYPE {
LegacyAvatar = 'LegacyAvatar',
Avatars = 'Avatars',
Items = 'Items',
RewardItems = 'RewardItems',
Expand Down Expand Up @@ -37,21 +38,23 @@ export enum CONTRACT_FILE_NAME {
AdminERC1155Soulbound = 'AdminERC1155Soulbound',
}
export enum CONTRACT_UPGRADABLE_FILE_NAME {
LegacyAvatar = 'LegacyAvatarUpgradeableV1',
Avatars = 'AvatarBoundV1',
ERC1155RoyaltiesSoulbound = 'ERC1155RoyaltiesSoulboundV1',
Levels = 'LevelsBoundV1',
ERC20ChainlinkPaymaster = 'ERC20ChainlinkPaymasterV1',
ERC20ChainlinkPaymaster = 'ERC20ChainlinkPaymasterV2',
ERC1155Soulbound = 'ERC1155SoulboundV1',
Staker = 'ERC20StakeV1',
Bridge = 'ERC20BridgeV1',
BurnableToken = 'BurnableTokenV1',
ERC1155RewardSoulbound = 'ERC1155RewardSoulboundV1',
}

export enum CONTRACT_UPGRADABLE_FILE_NAME_V2 {
Avatars = 'AvatarBoundV2',
ERC1155RoyaltiesSoulbound = 'ERC1155RoyaltiesSoulboundV2',
Levels = 'LevelsBoundV2',
ERC20ChainlinkPaymaster = 'ERC20ChainlinkPaymasterV2',
ERC20ChainlinkPaymaster = 'ERC20ChainlinkPaymasterV3',
ERC1155Soulbound = 'ERC1155SoulboundV2',
}

Expand All @@ -77,15 +80,17 @@ export enum CONTRACT_NAME {
}

export enum CONTRACT_UPGRADABLE_NAME {
LegacyAvatar = 'LegacyAvatarUpgradable',
Avatars = 'AvatarsUpgradable',
Items = 'ItemsUpgradable',
Levels = 'LevelsUpgradable',
PaymasterChainlink = 'PaymasterChainlinkUpgradable',
ERC20 = 'ERC20Upgradable',
ERC20 = 'BurnableTokenV1',
Staker = 'ERC20StakeV1',
Badge = 'BadgeUpgradable',
BridgePolygon = 'BridgeUpgradeablePolygon',
BridgeZkSync = 'BridgeUpgradeableZkSync',
ZkSpork = 'ZkSpork',
SkillTree = 'SkillTreeUpgradable',
RewardItemsUpgradable = 'RewardItemsUpgradable',
}
22 changes: 20 additions & 2 deletions constants/deployments/deployments-arbitrum-sepolia.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
import { ItemBoundIronWorksArgs } from '@constants/constructor-args';
import { CONTRACT_TYPE, CONTRACT_UPGRADABLE_FILE_NAME, CONTRACT_UPGRADABLE_NAME } from '@constants/contract';
import { BUIDLArgs, ERC20Args, ItemBoundIronWorksArgs } from '@constants/constructor-args';
import {
CONTRACT_NAME,
CONTRACT_TYPE,
CONTRACT_UPGRADABLE_FILE_NAME,
CONTRACT_UPGRADABLE_NAME,
} from '@constants/contract';
import { TENANT } from '@constants/tenant';

import { DeploymentContract } from '../../types/deployment-type';
Expand All @@ -22,4 +27,17 @@ export const ARBITRUM_SEPOLIA_CONTRACTS: DeploymentContract[] = [
functionCalls: [],
args: ItemBoundIronWorksArgs.TESTNET,
},
{
contractFileName: CONTRACT_UPGRADABLE_FILE_NAME.BurnableToken,
type: CONTRACT_TYPE.ERC20,
name: CONTRACT_UPGRADABLE_NAME.ERC20,
chain,
networkType,
tenants: [TENANT.IronWorks],
verify: false,
upgradable: true,
dependencies: [],
functionCalls: [],
args: ERC20Args.TESTNET,
},
];
25 changes: 25 additions & 0 deletions constants/deployments/deployments-base-sepolia.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { BUIDLArgs, ERC20Args } from '@constants/constructor-args';
import { CONTRACT_TYPE, CONTRACT_UPGRADABLE_FILE_NAME, CONTRACT_UPGRADABLE_NAME } from '@constants/contract';
import { TENANT } from '@constants/tenant';

import { DeploymentContract } from '../../types/deployment-type';
import { NETWORK_TYPE, NetworkName } from '../network';

const chain = NetworkName.BaseSepolia;
const networkType = NETWORK_TYPE.TESTNET;

export const BASE_SEPOLIA_CONTRACTS: DeploymentContract[] = [
{
contractFileName: CONTRACT_UPGRADABLE_FILE_NAME.BurnableToken,
type: CONTRACT_TYPE.ERC20,
name: CONTRACT_UPGRADABLE_NAME.ERC20,
chain,
networkType,
tenants: [TENANT.IronWorks],
verify: false,
upgradable: true,
dependencies: [],
functionCalls: [],
args: ERC20Args.TESTNET,
},
];
19 changes: 16 additions & 3 deletions constants/deployments/deployments-zksync-sepolia.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,14 @@ export const ZKSYNC_SEPOLIA_CONTRACTS: DeploymentContract[] = [
args: ItemBoundArgs.TESTNET,
},
{
contractFileName: CONTRACT_FILE_NAME.ERC1155RewardSoulbound,
contractFileName: CONTRACT_UPGRADABLE_FILE_NAME.ERC1155RewardSoulbound,
type: CONTRACT_TYPE.RewardItems,
name: CONTRACT_NAME.RewardItems,
name: CONTRACT_UPGRADABLE_NAME.RewardItemsUpgradable,
chain,
networkType,
tenants: [TENANT.Game7],
verify: true,
upgradable: false,
upgradable: true,
dependencies: [],
functionCalls: [
{
Expand Down Expand Up @@ -450,4 +450,17 @@ export const ZKSYNC_SEPOLIA_CONTRACTS: DeploymentContract[] = [
functionCalls: [],
args: BUIDLArgs.TESTNET,
},
{
contractFileName: CONTRACT_UPGRADABLE_FILE_NAME.LegacyAvatar,
type: CONTRACT_TYPE.LegacyAvatar,
name: CONTRACT_UPGRADABLE_NAME.LegacyAvatar,
chain,
networkType,
tenants: [TENANT.Game7],
verify: true,
upgradable: true,
dependencies: [],
functionCalls: [],
args: {},
},
];
2 changes: 2 additions & 0 deletions constants/deployments/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,11 @@ import { POLYGON_MUMBAI_CONTRACTS } from './deployments-polygon-mumbai';
import { SEPOLIA_CONTRACTS } from './deployments-sepolia';
import { ZKSYNC_MAINNET_CONTRACTS } from './deployments-zksync-mainnet';
import { ZKSYNC_SEPOLIA_CONTRACTS } from './deployments-zksync-sepolia';
import { BASE_SEPOLIA_CONTRACTS } from '@constants/deployments/deployments-base-sepolia';

export const CONTRACTS = [
...ARBITRUM_ONE_CONTRACTS,
...BASE_SEPOLIA_CONTRACTS,
...ARBITRUM_SEPOLIA_CONTRACTS,
...POLYGON_MAINNET_CONTRACTS,
...POLYGON_MUMBAI_CONTRACTS,
Expand Down
21 changes: 21 additions & 0 deletions constants/network.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ export enum ChainId {
OPSepolia = 11155420,
Base = 8453,
BaseSepolia = 84532,
Game7OPStackBaseSepolia = 7777000,
Game7OrbitARBOneSepolia = 7007007,
Game7OrbitBaseSepolia = 7770007,
}

export enum NetworkName {
Expand All @@ -46,6 +49,9 @@ export enum NetworkName {
OPSepolia = 'OPSepolia',
Base = 'base',
BaseSepolia = 'baseSepolia',
Game7OPStackBaseSepolia = 'game7OPStackBaseSepolia',
Game7OrbitARBOneSepolia = 'game7OrbitARBOneSepolia',
Game7OrbitBaseSepolia = 'game7OrbitBaseSepolia',
}

export enum NetworkConfigFile {
Expand All @@ -67,6 +73,9 @@ export enum NetworkConfigFile {
OPSepolia = 'op.config.ts',
Base = 'base.config.ts',
BaseSepolia = 'base.config.ts',
Game7OPStackBaseSepolia = 'game7.config.ts',
Game7OrbitARBOneSepolia = 'game7.config.ts',
Game7OrbitBaseSepolia = 'game7.config.ts',
}

export enum Currency {
Expand All @@ -87,6 +96,10 @@ export enum Currency {
OPSepolia = 'ETH',
Base = 'ETH',
BaseSepolia = 'ETH',
Game7Sepolia = 'ETH',
Game7OPStackBaseSepolia = 'Iron',
Game7OrbitARBOneSepolia = 'Iron',
Game7OrbitBaseSepolia = 'Iron',
}

export enum NetworkExplorer {
Expand All @@ -107,6 +120,10 @@ export enum NetworkExplorer {
OPSepolia = 'https://sepolia-optimistic.etherscan.io',
Base = 'https://basescan.org',
BaseSepolia = 'https://base-sepolia.blockscout.com',
// this will change to: testnet.explorer.game7.io
Game7OPStackBaseSepolia = 'https://explorerl2new-game7-base-eagenda-cpjwey1rnq.t.conduit.xyz',
Game7OrbitARBOneSepolia = 'https://explorerl2new-game7-arb-anytrust-wcj9hysn7y.t.conduit.xyz',
Game7OrbitBaseSepolia = 'https://explorerl2new-game7-base-anytrust-zuthm7ggv0.t.conduit.xyz',
}

export function getTransactionUrl(txHash: string, network: NetworkName): string {
Expand All @@ -133,4 +150,8 @@ export const rpcUrls = {
[ChainId.OPSepolia]: 'https://sepolia.optimism.io',
[ChainId.Base]: 'https://mainnet.base.org',
[ChainId.BaseSepolia]: 'https://sepolia.base.org',
// this will change to: rpc.sepolia.game7.io
[ChainId.Game7OPStackBaseSepolia]: 'https://rpc-game7-base-eagenda-cpjwey1rnq.t.conduit.xyz',
[ChainId.Game7OrbitARBOneSepolia]: 'https://rpc-game7-arb-anytrust-wcj9hysn7y.t.conduit.xyz',
[ChainId.Game7OrbitBaseSepolia]: 'https://rpc-game7-base-anytrust-zuthm7ggv0.t.conduit.xyz',
};
Loading