SeriesVaultacts as a simple storage contract for the
ERC1155tokens. Whenever the
SeriesControllerreceives collateral from minting options, it transfers the collateral to be stored in the
SeriesVault. Currently the
SeriesVaultdoes not store any option tokens, but a future upgrade to the protocol might enable this so that we can implement spreads.
SeriesControllerare separate contracts because we wanted to separate the Series settlement layer logic (the
SeriesController) from the Series collateral storage (the
SeriesVault). This results in higher gas usage, but gives more flexibility for future changes to either contract.
SeriesControlleruses this function to store the
ERC20Series collateral tokens in the
SeriesControllerdoes not store option tokens in the
SeriesVault. However, a future extension to the protocol may make use of Vault-stored option tokens, so we expose this functionality for the future.
SeriesVault's logic contract. The SIREN protocol's contracts use the EIP-1822 standard for implementing upgradeable contracts. This allows us to update vulnerable contracts and keep users' option tokens safe. When the SIREN protocol has reached a certain level of stability, we can remove these safety guards and ensure no one on the Siren team can swap out the smart contract functionality.
SeriesVault's function implementations