Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,4 @@
[submodule "lib/staker"]
path = lib/staker
url = https://github.com/withtally/staker
branch = upgradeable-staker
5 changes: 4 additions & 1 deletion foundry.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
"rev": "dbb6104ce834628e473d2173bbc9d47f81a9eec3"
},
"lib/staker": {
"rev": "126860bd747c3a919e2ae301b64bf786469afd02"
"branch": {
"name": "upgradeable-staker",
"rev": "768dc70f7cad508454944324e8722689862f5123"
}
}
}
1 change: 1 addition & 0 deletions hardhat.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ const config: HardhatUserConfig = {
zksync: true,
ethNetwork: "mainnet",
url: process.env.ZKSYNC_MAINNET_RPC_URL || "https://mainnet.era.zksync.io",
verifyURL: "https://zksync2-mainnet-explorer.zksync.io/contract_verification",
},
zkSyncTestnet: {
zksync: true,
Expand Down
2 changes: 1 addition & 1 deletion lib/staker
12 changes: 8 additions & 4 deletions script/DeployZkStaker.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,18 @@ const NUMBER_OF_SECONDS_IN_A_DAY = 86400;
const ZK_REWARD_TOKEN_ADDRESS = "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E";
const ZK_STAKE_TOKEN_ADDRESS = "0x5A7d6b2F92C77FAD6CCaBd7EE0624E64907Eaf3E";
const MAX_CLAIM_FEE = 500n * (10n ** 18n); // 500 ZK
const STAKER_ADMIN = "0xf0043eF34F43806318B795b1B671f1EC42DBcd40"; // Tally safe
const STAKER_ADMIN = "0x4eA3EA51f8fDFfb34583C9B729b1c443607Be0bC"; // Tally safe
const MAX_BUMP_TIP = 5n * (10n ** 18n); // 5 ZK
const STAKER_NAME = "ZK Staker";
const INITIAL_TOTAL_STAKE_CAP = 400_000_000n * (10n ** 18n); // 400,000,000 ZK
const FEE_AMOUNT = 0;
const FEE_COLLECTOR = "0xf0043eF34F43806318B795b1B671f1EC42DBcd40"
const FEE_COLLECTOR = "0x4eA3EA51f8fDFfb34583C9B729b1c443607Be0bC"
const PROXY_OWNER = "0xe5d21A9179CA2E1F0F327d598D464CcF60d89c3d" // ZK Token Governor Timelock
const STAKER_REWARD_NOTIFIER="0x10a930CA056311e04B32a4452e1d9540fC9e716F"

// BinaryEligibilityOracle Params
const EARNING_POWER_OWNER = "0xf0043eF34F43806318B795b1B671f1EC42DBcd40";
const SCORE_ORACLE = "0x8120341a040f5776E4a10CC06fB2009fbB187055";
const EARNING_POWER_OWNER = "0x4eA3EA51f8fDFfb34583C9B729b1c443607Be0bC";
const SCORE_ORACLE = "0x084f68fbfd780aa0749beb0f0d123f32c786893a";
const STALE_ORACLE_WINDOW = 30 * NUMBER_OF_SECONDS_IN_A_DAY;
const ORACLE_PAUSE_GUARDIAN = "0xf0043eF34F43806318B795b1B671f1EC42DBcd40";
const DELEGATEE_SCORE_ELIGIBILITY_THRESHOLD = 1;
Expand Down Expand Up @@ -79,6 +80,9 @@ async function main() {
feeCollector: FEE_COLLECTOR
});

// Set Reward notifier
await zkStaker.setRewardNotifier(STAKER_REWARD_NOTIFIER, true);

// Set the admin of the ZkStaker contract to the timelock
await zkStaker.setAdmin(STAKER_ADMIN);

Expand Down
Loading