Pyth Entropy Smart Contract Verification Proposal
This is a grant proposal from the Pyth Data Association for the Pyth Entropy Smart Contract Verification on various mainnet and testnet chains.
Grant Scope
To qualify for the grant, both the proxy and implementation contracts must be verified. Entropy addresses on docs.pyth.network point to proxy contracts; the underlying implementation is deployed separately and also requires verification.
Grant Rewards
- For each chain (including both mainnet and testnet), 1000 PYTH tokens to be allocated.
Grant Process
-
Sub-issues are created for all chains within the scope of the grant, featuring the parent issue “Entropy Smart Contract Verification” in the documentation repository.
-
As part of the submission, a snippet and explorer link to the verified contracts must be submitted by the builder in the respective sub-issue comments.
-
The builder who has submitted the screenshot of the verified smart contract first will be rewarded. Make sure to provide your email address along with it, so that the team can contact you.
Steps to verify the Entropy contract
Builders can verify either through the blockchain explorer or through developer tools like foundry or hardhat. Before proceeding with the steps listed below, identify the release artifacts that were used at the time of contract deployment, which can be done by checking the contract creation date. Refer to pyth-crosschain releases for more details.
-
First start with verifying the proxy (the contract address mentioned in the docs) with the standard input JSON file. Upload the ERC1967Proxy-std-input.json file from the release artifacts and use solidity 8.9 as the compiler and click on verify.
-
Once the proxy contract is verified, there is a “Read as Proxy” tab on the explorer which gives the address of the implementation contract. Refer the snippet below
. -
Go to the implementation contract address and repeat the same verification with solidity 8.4 and EntropyUpgradable-std-input.json release artifact.
Note: If the explorer doesn’t support standard input json then use the merged files. Use 200 for the optimizer runs option.
References
-
Refer the sample link to Entropy contract v0.4.0 https://github.com/pyth-network/pyth-crosschain/releases/tag/pyth-evm-entropy-contract-v0.4.0
-
Releases page for Pyth monorepo https://github.com/pyth-network/pyth-crosschain/releases
-
Entropy contract addresses https://docs.pyth.network/entropy/contract-addresses
Terms & Disclaimer
Pyth Data Association (“PDA”) is a nonprofit Swiss association whose mission is to support the independent growth and development of the Pyth Network. PDA has established the Pyth Ecosystem Grant Program (this “Program”) to encourage independent contributions from new participants on the Pyth Network. Nothing in this Program, nor any related documentation or webpage, should be construed as establishing an employment, contractor, partnership, joint venture, legal or agency relationship for any purpose between PDA and any grantee or any of his or her personnel, agent, assigns or other representatives of any kind, and no authority to bind PDA shall be granted to anyone at any time whatsoever. The grantee will report to all applicable government agencies as income all compensation received by them pursuant to this Program. Grantee shall assign all title and interest in the deliverables (including all Intellectual Property Rights) to PDA; provided that, PDA shall irrevocably and perpetually grant to the general public, including the Pyth token holder community, all rights and licenses in and to the deliverables pursuant to the terms and conditions of the Apache 2.0 open source license. Furthermore, PDA reserves the right to conduct any and all compliance screenings, including but not limited to, checks against sanctions lists, identity verification processes, and other Anti-Money Laundering (AML) and Know Your Customer (KYC) procedures as mandated by applicable law and within the relevant legal framework. Such compliance measures may impact or impede the disbursement of any awards under this Program.
Participation Restrictions
Persons domiciled in the following countries are not eligible to participate in this Program:
Belarus, the Central African Republic, The Democratic Republic of Congo, the Democratic People’s Republic of Korea, the Crimea, Donetsk, Kherson, Luhansk, Sevastopol, and Zaporizhzhia regions of Ukraine, Cuba, Iran, Libya, Myanmar, Somalia, Sudan, South Sudan, Syria, the USA, the United Kingdom, Yemen, Zimbabwe.
By accessing and using this website, including but not limited to participating in Pyth Ecosystem Grant Program, you acknowledge and agree to the terms outlined in Pyth Data Association’s Privacy Policy, which can be reviewed at https://pythdataassociation.com/privacy-policy.
