You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
base case: contract is deployed directly by a deployer; return that address
factory case: contract is deployed by a factor; return the address of the deployer for the factory
proxy case (includes most create2 patterns): contract is deployed via some kind of proxy; return the address that executed the transaction (here is an example of such a case; here is an example of one of the models for determining the relevant address to use in these cases)
However, there is a slight issue with the factory case in the sense that we are getting the originating address not the root deployer address. We actually want both.
Example:
Here is a Velodrome pair on OP Mainnet, which was deployed via one of their factories but signed by someone not associated with Velodrome.
So, we should update this model so that it includes both the originatingAddress (who signed the transaction to create the contract) and the rootDeployerAddress (who deployed the factory that generated the contract).
The text was updated successfully, but these errors were encountered:
From discussion with Agora team about contract verification requirements...
The intended logic of
contracts_v0
is to identify the root deployer.Here is the logic of the model.
Basically:
However, there is a slight issue with the factory case in the sense that we are getting the originating address not the root deployer address. We actually want both.
Example:
Here is a Velodrome pair on OP Mainnet, which was deployed via one of their factories but signed by someone not associated with Velodrome.
Step 1
If I query:
Then I get:
Step 2
See if the deployer is linked to Velodrome. It should NOT be.
Result -- it is NOT.
Step 3
Confirm that the contract IS linked to Velodrome:
And we see that it is:
So, we should update this model so that it includes both the
originatingAddress
(who signed the transaction to create the contract) and therootDeployerAddress
(who deployed the factory that generated the contract).The text was updated successfully, but these errors were encountered: