# Pickle Polygon Minting
**UPDATE: MINICHEFV2 DEPLOYED AT** [0x20b2a3fc7b13ca0ccf7af81a68a14cb3116e8749](https://polygonscan.com/address/0x20b2a3fc7b13ca0ccf7af81a68a14cb3116e8749)
**Rewarder** deployed at
[0xE28287544005094be096301E5eE6E2A6E6Ef5749](https://polygonscan.com/address/0xE28287544005094be096301E5eE6E2A6E6Ef5749)
## Hypothesis #1: Pickles are somehow minted on mainnet because they can be bridged back (thus satisfying Polygon's requirements)
- Anon bridges 2 PICKLEs from Polygon to mainnet: https://etherscan.io/tx/0x85d3c3d174c24f7ca40b416028771dff8dd8752531e033694a73a15e4755a3a4
- The PICKLEs are sent from the bridge instead of being minted https://etherscan.io/address/0x40ec5b33f54e0e8a33a975908c5ba1c14e5bbbdf
- The bridge holds approximately the same amoune of circulating PICKLE on Polygon 

- **Result:** null hypothesis rejected. PICKLEs are not minted on mainnet, and liquidity bridge supply determines PICKLE Polygon supply
## Now why is Sushi able to mint?
- Sushi's mainnet [token contract](https://etherscan.io/address/0x6b3595068778dd592e39a122f4f5a5cf09c90fe2#code) has not granted the required minting privileges to `MintableAssetProxy` as stipulated by Polygon's docs [here](https://docs.matic.network/docs/develop/ethereum-matic/mintable-assets/)
- Like Pickle's Sushi's contract only allows for their `Masterchef` to mint
### Sushi's Polygon Contract
- Sushi's contract on Polygon is found [here](https://polygonscan.com/address/0x0b3f868e0be5597d5db7feb59e1cadbb0fdda50a#code), where the implementation contract (because the main Sushi contract is a proxy) is at https://polygonscan.com/address/0x070e7d3151c89ed13893c84baae0a3f7fdb1e2e6#code
- Pickle's current Polygon implementation contract is actually identical to Sushi's (without minting privileges) https://polygonscan.com/address/0x7d7f611abbbb52b2e1df2dc69187c5e846ce80df#code
### Test Sushi Minting
- Deposited some DAI/USDC in Sushi's farm and harvested: https://polygonscan.com/tx/0x2098179dd1652e65bf201291396529972c0225dbacd1003bf045e22507616bbb
- **SUSHI comes from** https://polygonscan.com/address/0x0769fd68dfb93167989c6f7254cd0d766fb2841f#code
- This contract is **Minichefv2**, which is essentially Masterchefv2
- Masterchefv2 presupposes that there is a reward balance in the contract (in this case, SUSHI tokens)
- Indeed, [this transaction](https://polygonscan.com/tx/0xa06a29ea5ce84b0c6d67efc50bd9cfb350a1a0d4e10b85b75e740f24e17aae45) shows the Sushi multi-sig sending 53,100 SUSHI to Minichefv2 to power its emissions
- Sushi's total supply on Polygon corresponds with the eth-side bridge liqudity 
## Conclusion
- The original approach to use the standard masterchef minting contract on Polygon was incorrect.
- This should have been caught by Philippe when he was investigating/developing the implementation contract (which we really don't need to change for this approach, meaning the Polygon team is correct with their assertions)
### Next Steps
1. Deploy our own Masterchefv2, forked from Sushi's
2. Pump MCv2 with PICKLEs and set the `picklePerSecond` parameter
3. Add pools and TEST
4. Ideally, we deploy a rewarder contract which rewards MATIC rewards alongside PICKLEs (to negotiate). Production rewarder contractfor Sushi is found [here](https://polygonscan.com/address/0xa3378Ca78633B3b9b2255EAa26748770211163AE)