# PIP-37 — Freeze the Advanced Staking v0 Vault and Introduce Merkle-Based Claims

1. Title

1.1 Freeze the Advanced Staking v0 Vault and Introduce Merkle-Based Claims


2. Summary

2.1

This proposal authorises the upgrade of the Vault_Proxy contract on Polygon to a new implementation named VaultV0Frozen.

2.2

The upgrade permanently disables the v0 MASP entry and exit paths while introducing a Merkle-tree-based claim mechanism for Advanced Staking reward distributions, including ZKP and PNFT entitlements.

2.3

This proposal also introduces a 365-day timelock on any recovery of unclaimed residual assets by the DAO multisig following publication of the final Merkle root.

2.4

This proposal contains a single on-chain upgrade action only. The Merkle root authorising claims shall be published and committed through a separate follow-up governance proposal once the entitlement dataset has been finalised.


3. Background

3.1

The Panther v0 MASP environment on Polygon is no longer intended to remain active for ongoing deposit or exit activity.

3.2

The DAO intends to transition Advanced Staking reward distribution to a simpler and more transparent Merkle-based claim mechanism while freezing legacy v0 vault interactions.

3.3

This proposal finalises the operational state of the v0 Vault by:

(a) disabling further MASP entry and exit interactions;
(b) preserving reward distribution functionality through Merkle claims; and
(c) establishing a delayed residual recovery mechanism for unclaimed assets.


4. Scope of Upgrade

4.1

The Vault_Proxy contract on Polygon shall be upgraded to the VaultV0Frozen implementation.

4.2

Following execution of the upgrade:

(a) PantherPoolV0.exit() shall revert with "VFrozen: frozen";
(b) PantherPoolV0.generateDeposits() shall revert with "VFrozen: frozen";
(c) Vault.lockAsset and Vault.unlockAsset shall revert; and
(d) no new v0 MASP deposits or exits shall be possible.

4.3

At the time of execution, Merkle-based claiming functionality shall not yet be active.

4.4

Vault.claim(...) shall revert with "VFrozen: not open" until a subsequent governance proposal publishes and commits the final Merkle root through setRoot(bytes32).


5. Merkle Claim Mechanism

5.1

Following publication of the Merkle root in a subsequent governance proposal, eligible users may submit claims using the following function:

claim(uint256 zkpAmount, uint16 nftCount, bool claimNft, bytes32[] proof)

Let’s get this rolling! Agree to the proposal