Chains
Owl Protocol chain configs.
Extends viem
chain definitions with additional data and adds new chains.
Getting Chain Info
There are multiple sources to find interesting chain integrations:
Bridging Funds to Chains
Beyond just getting RPC info, getting funds onto the chain is also a requirement for launch. Once bridged, the only requirement is funding the utility account (varies between staging/production environments) which then manages distributing funds to necessary accounts (bundler, paymaster). You can use the following resources to get funds onto a chain:
Native Bridging
These bridges are chain-specific. Often Third-party bridges can be faster and cheaper but for testnets these are often the only option.
Third-Party Bridging
Firebase Chains Upload
To avoid the need to re-deploy services (eg. API, Dashboard), chain configurations are stored on Firebase as a way to dynamically update the data. Chains configs are stored under network
for public configurations and networkPrivate
for private server-side only configs that contain moderately sensitive information such as RPC API keys.
To upload chain data run the uploadNetworks
script with the correct environment config.
npm run scripts:uploadNetworks
NODE_ENV=staging npm run scripts:uploadNetworks
NODE_ENV=production npm run scripts:uploadNetworks
Chain Integration Checklist
Initial Research
- Is it EVM equivalent?
- Is it a particular rollup stack (OPStack, Arbitrum Orbit, ZKStack)?
- Is Arachnid Deployer (0x4e59b44847b379578588920ca78fbf26c0b4956c) deployed? If not, is EIP-155 (replay protection) enforced (must NOT be to allow deployment)?
- Is ERC4337 v0.7 deployed (0x0000000071727De22E5E9d8BAf0edAc6f37da032) ? This is more for informational purposes.
- Is there a viem config?
- Is there a private RPC provider (dRPC, Ankr, others)?
Configuration
- Add chain config info
- If OPStack chain, add parent chain config
- Fund utility account or utility account on parent chain (if OPStack)
Upload & QA
- Upload network config as "enabled" on staging Firebase
- Test out NFT deploy by running dashboard locally but with staging env (see README on dashboard)
- Upload network config as "enabled" on production Firebase
- Test out NFT deploy on live production dashboard