Technical details
Extend the Panther Protocol with the following, newly deployed smart contracts:
On the Ethereum mainnet:
- at
0xFED599513aB078Edea7Cf46574154f92b0B9FCAB
:AdvancedStakeRewardAdviserAndMsgSender
On the Polygon network:
- at
0x8f15a43961c27C74CB4F55234A78802401614de3
:AdvancedStakeRewardController
- at
0x47374FBE2289c0442f33a388590385A0b32a20Ff
:AdvancedStakeActionMsgRelayer
- at
0x9a423671e9Cde99Ae88853B701f98ca9e136877B
:PantherPoolV0
- at
0xE5da4955cBC480Eb9Bf9534def229F9D8339eE6d
:PNftToken
- at
0xb658B085144a0BEd098620BB829b676371B9B48c
:ZAssetsRegistry
The following pre-existing smart contracts will be involved in the proposal transactions:
On the Ethereum mainnet:
- at
0x505796f5bc290269d2522cf19135ad7aa60dfd77
:DAO_Multisig
- at
0xf4d06d72dACdD8393FA4eA72FdcC10049711F899
:Staking
- at
0x347a58878D04951588741d4d16d54B742c7f60fC
:RewardMaster
- at
0xb476104aa9D1f30180a01987FB09b1e96dDCF14B
:VestingPools
- at
0x909E34d3f6124C324ac83DccA84b74398a6fa173
:ZKPToken
On the Polygon network:
- at
0x9A06Db14D639796B25A6ceC6A1bf614fd98815EC
:PZkpToken
- at
0x4cEc451F63DBE47D9dA2DeBE2B734E4CB4000Eac
:Staking
- at
0x09220DD0c342Ee92C333FAa6879984D63B4dff03
:RewardMaster
Smart contracts of the Mainnet->Polygon PoS Bridge:
- at
0x40ec5B33f54e0E8A33A975908C5BA1c14e5BbbDf
:ERC20PredicateProxy
- at
0xA0c68C638235ee32657e8f720a23ceC1bFc77C77
:RootChainManagerProxy
The following Subgraph instances will be used to feed data to the front end dApp:
- at https://thegraph.com/hosted-service/subgraph/toxicehc/panther with the ID
QmTi7Z7YoUpzYqwGytPuKYu2FuYPEhtPTsXti5dRxn8wHR
- at https://thegraph.com/hosted-service/subgraph/cryptoefelle/panther with the ID
QmZPs5CFi5vpZW73DmwF5VMzt5CYvFX7vD9Ez9gkZteuRd
(Some more instances may be added to this list.)
This proposal triggers execution of the following blockchain transactions. These transactions are already encoded during submission of the proposal to snapshot.org, and can be independently verified via the snapshot.org web interface.
Register $ZKP as an allowed zAsset:
ZAssetsRegistry_Proxy@matic::addZAsset(
[0, 0, 1, 0, 11, "0x9A06Db14D639796B25A6ceC6A1bf614fd98815EC"])
Register PNFT as an allowed zAsset:
ZAssetsRegistry_Proxy@matic::addZAsset(
[0, 0, 1, "0x10", 0, "0xE5da4955cBC480Eb9Bf9534def229F9D8339eE6d"])
Set existing contracts on Polygon to work with newly deployed contracts:
RewardMaster@matic::addRewardAdviser(
"0x4cEc451F63DBE47D9dA2DeBE2B734E4CB4000Eac",
"0xcc995ce8",
"0x8f15a43961c27C74CB4F55234A78802401614de3")
RewardMaster@matic::addRewardAdviser(
"0x47374FBE2289c0442f33a388590385A0b32a20Ff",
"0xcc995ce8",
"0x8f15a43961c27C74CB4F55234A78802401614de3")
RewardMaster@matic::addRewardAdviser(
"0x4cEc451F63DBE47D9dA2DeBE2B734E4CB4000Eac",
"0xb8372e55",
"0x8f15a43961c27C74CB4F55234A78802401614de3")
Allow zAsset redemption since 2023-04-07T18:00:00.000Z:
PantherPoolV0_Proxy@matic::updateExitTimes(1680890400, 86400)
Allow AdvancedStakeRewardController to mint PNFT tokens:
PNftToken@matic::setMinter("0x8f15a43961c27C74CB4F55234A78802401614de3")
Set advance staking rewarding parameters - 15% APR to be effective since 2022-12-08T18:00:00.000Z for 180 days:
AdvancedStakeRewardController@matic::updateRewardParams(
[1670522400, 1680804000, 15, 15])
Accept advanced stakes on Polygon since 2022-12-08T18:00:00.000Z for 119 days:
Staking@matic::addTerms(
"0x7ec13a06",
[true, true, 1000, 0, 1670522400, 1680804000, 0, 0, 5184000])
Reserve 2000 PNFT tokens for first 2000 stakes:
AdvancedStakeRewardController@matic::setNftRewardLimit(2000)
Mint 6,000,000 $ZKP as rewards for advanced stakes and send tokens to AdvancedStakeRewardController on Polygon via PoS bridge:
VestingPools@eth::releaseTo(
16,
"0x505796f5bc290269d2522cf19135ad7aa60dfd77",
"6000000000000000000000000")
ZKPToken@eth::approve(
"0x40ec5B33f54e0E8A33A975908C5BA1c14e5BbbDf",
"6000000000000000000000000")
RootChainManagerProxy@eth::depositFor(
"0x8f15a43961c27C74CB4F55234A78802401614de3",
"0x909E34d3f6124C324ac83DccA84b74398a6fa173",
"0x00000000000000000000000000000000000000000004f68ca6d8cd91c6000000")
Set existing contracts on mainnet to work with newly deployed contracts:
RewardMaster@eth::addRewardAdviser(
"0xf4d06d72dACdD8393FA4eA72FdcC10049711F899",
"0xcc995ce8",
"0xFED599513aB078Edea7Cf46574154f92b0B9FCAB")
RewardMaster@eth::addRewardAdviser(
"0xf4d06d72dACdD8393FA4eA72FdcC10049711F899",
"0xb8372e55",
"0xFED599513aB078Edea7Cf46574154f92b0B9FCAB")
Accept advanced stakes on mainnet since 2022-12-08T18:00:00.000Z for 119 days:
Staking@eth::addTerms(
"0x7ec13a06",
[true, true, 1000, 0, 1670522400, 1680804000, 0, 0, 5184000])
Allow AdvancedStakeRewardController to send all $ZKPs from its balance as rewards:
AdvancedStakeRewardController@matic::updateZkpRewardsLimit()
Mint 14,000 $ZKP as rewards for deployment and send 10,000 out of this amount to deployers:
VestingPools@eth::releaseTo(
17,
"0x505796f5bc290269d2522cf19135ad7aa60dfd77",
"14000000000000000000000")
ZKPToken@eth::transfer(
"0xf0886ac6B2E9A2A75C9537EAF1A3aa8398FB10e8",
"8000000000000000000000")
ZKPToken@eth::transfer(
"0xdfE35156b65e90D3Fbf7E0D438fAb7b564668848",
"2000000000000000000000")