oso icon indicating copy to clipboard operation
oso copied to clipboard

oss-directory: handle contracts from a deterministic deployer

Open ccerv1 opened this issue 1 year ago • 1 comments

There are some contracts (esp in DeFi) that are deployed across multiple chains from a deterministic deployer. The most popular protocol appears to be this one: https://github.com/Arachnid/deterministic-deployment-proxy

You can see this activity across multiple chains, eg, Mainnet, Optimism, and Base

Proxy Address

0x4e59b44847b379578588920ca78fbf26c0b4956c

Deployment Transaction

0xf8a58085174876e800830186a08080b853604580600e600039806000f350fe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe03601600081602082378035828234f58015156039578182fd5b8082525050506014600cf31ba02222222222222222222222222222222222222222222222222222222222222222a02222222222222222222222222222222222222222222222222222222222222222

Deployment Signer Address

0x3fab184622dc19b6109349b94811493bf2a45362

Our working assumption is that you can identify the actual deployer as the address that interacts with the proxy contract address, but this needs to be verified.

In any case, the correct behavior is to trace the contracts that are created as result of a deployer interacting a deterministic deployer contract.

ccerv1 avatar Mar 26 '24 19:03 ccerv1

@ravenac95 check out this implementation from the Agora team:

https://github.com/voteagora/op-atlas/blob/main/src/lib/actions/contracts.ts

ccerv1 avatar May 21 '24 22:05 ccerv1

Remaining work to get proxy deployments handled will continue in #1554

ccerv1 avatar Jun 03 '24 14:06 ccerv1