Using Proxy Patterb

This process builds on OpenZeppelin's upgradable contracts - replacing ProxyAdmin with Ironblocks' FirewallProxyAdmin and replacing TransparentUpgradableProxy with Ironblocks' FirewallTransparentUpgradableProxy (both of which inherit from their OpenZeppelin counterpart).

Step By Step

  1. Deploy our FirewallProxyAdmin contract. You'll interact with this contract to perform administrative tasks on your proxy (most commonly upgrading your protocol's underlying implementation contract).

  2. Deploy our FirewallTransparentUpgradableProxy contract with the following parameters:

    1. _logic The address of your implementation contract

    2. admin_ The address of the FirewallProxyAdmin contract (the one we deployed in Step 1 above)

    3. _data Optional initialization data

    4. _firewall The address of Ironblocks' Firewall contract (see Addresses)

    5. _firewallAdminAddress The address of your firewall administrator (this is the contract or person that will manage policies for your firewall).

    6. That's it! Your smart contracts are now ready to use Ironblocks' Firewall.

This is the suggested implementation method for upgradable contracts

Next Steps

Last updated