Geode uses an initiator function to set some parameters for your staking pool and derivative.
NAME: Unique name of your Pool. Can not be changed later.
FEE: Maintenance fee that will be charged for your services as the pool owner. 10^10 represents 100%, can be set to up to 10% (10^9). Can be changed later.
Interface Version: Can be empty, or can be any interfaces from the list below. Can not be changed later.
Maintainer: Any other address that will manage your pool's Node Operators. Can be a community owned Maintainer, or the address of an automation script, etc. Can be changed later.
Interface Data: some interfaces require data to be present along with a gETH address and Pool id.
Config: initial configuration of your Pool as:
True if a private pool - Can be changed later.
True if uses an interface. Can not be changed later.
True if uses a liquidity Pool - Can be changed later.
Note that, if you create private pool, you will need to create a Whitelisting Contract and register it.
However, Pool CONTROLLERs are allowed to use the pool even without creating and registering a contract.
The below transaction creates a Private Staking Pool with no maintenance fee,no interface, and no Liquidity Pool:
Complex Initiation
The below transaction creates a Public Staking Pool with a 5% maintenance fee, and ERC20InterfacePermitUpgradable interface, which also has a bound Liquidity Pool: