InitializeMarketinstruction. Each market is governed by specific parameters that determine its fungibility. Those parameters include:
MintCoveredCallinstruction. It is extremely important to note that although this instruction contains the phrase Covered Call in the V1 protocol, all contracts can be considered covered calls. PUTs are simply the reciprocal of a CALL, and all of V1's markets require 100% collateral upfront. More can be read here.
underlying_amount_per_contractplus a 5bps minting fee. This small fee will go to the PsyOptions treasury and will be adjustable (or removable) via governance. So the total underlying assets required to mint 1 contract is:
underlying_assets_required = underlying_amount_per_contract + (underlying_amount_per_contract * 0.0005)
quote_amount_per_contractshould anyone exercise and the Quote Asset Pool contains enough of a balance. Post expiration, the WriterToken gives the holder the ability to claim the
underlying_amount_per_contractback from the Underlying Asset Pool.
ExerciseCoveredCallinstruction. To exercise we must post the OptionToken held and the
quote_amount_per_contractplus a 5bps fee. This small fee will got to the PsyOptions treasury and will be adjustable (or removable) via governance. So the total quote asset that must be posted is
quote_assets_required = quote_amount_per_contract + (quote_amount_per_contract * 0.0005)
quote_amount_per_contractto the market's Quote Asset Pool, and transfers
underlying_amount_per_contractto the exerciser's address.
ExchangeWriterTokenForQuoteinstruction. The user must post the WriterToken. The protocol will burn the WriterToken and transfer the
quote_amount_per_contractto the writer's wallet.
underlying_amount_per_contract. This is done through the
ClosePositioninstruction comes in. This instruction requires you to have both the OptionToken and the WriterToken. At any point (pre or post expiration) if a wallet calls this instruction with the correct token pair preset, it will receive the
underlying_amount_per_contract.The protocol checks and burns both tokens and then transfers the underlying assets from the pool to the wallet.