Legend

For the sake of the audit quoting process, we define a legend that displays the completion status of each component in our architecture.

EVM Protocol Architecture (3).png

Complete Protocol Overview

In its completed state, the protocol aims to be chain-agnostic. This means that from a frontend perspective, incoming assets may be bridged from any supported chain using the Li.Fi router, and the returned assets may be bridged back out using our LayerZero OFT implementation. Shown below is a chart that displays the planned final architecture in its entirety. The bulk of the contracts are completed, but cross-chain functionality is not yet implemented, thus the in-progress status is displayed on most contracts.

EVM Protocol Architecture (17).png

Smart Contract Overview

As shown above, our smart contracts are primarily deployed on Base, with some auxiliary contracts deployed on other L2s, namely the token contracts and the distributor, allowing people to transfer their derivatives and claim their owed coupons on other chains. Below is a list of the contracts found on Base and a couple sentences describing the purpose of each one.

Plaza Core

Pool: The core contract for the protocol. The pool holds all of the underlying assets for a particular set of derivative and handles the issuance and burn of all derivatives pertaining to its particular strategy. Our first product is a wstETH pool that splits the total return of wstETH into two products targeted at different investor profiles, bondETH - a stabilized profile that received a coupon in USDC every quarter, and levETH - levered exposure to wstETH. In this case, the pool contract holds all of the wstETH and issues the bondETH and levETH tokens.

Merchant: The contract that calculates and executes any sale of the underlying assets of a pool. For our first products, bondETH and levETH, the Merchant calculates and executes the sales of wstETH to generate the USDC needed to pay bondETH coupons. It contains selling strategy logic and swaps the underlying assets to the desired coupon asset periodically. The merchant never holds assets in its own contract, and always executes on behalf of the pool.

Distributor: The contract that contains the coupons available for claiming. For our initial bondETH product, every quarter, after the merchant sells the required amount of wstETH, the USDC is then sent to the distributor and is ready for claiming by the bond holders.

bondERC20: The bond token for the protocol is an extension of regular ERC20s that contain custom checkpointing logic for tracking the balances that a user has at each period. This allows for distributions to have a time complexity of O(1) and claims to be at O(n) with n increasing only once a quarter. If a user doesn’t claim their coupons from previous periods, and transfers their tokens, they are still eligible to claim the coupons from the unclaimed periods. The logic extension tracks historical balances and retains information about outstanding claims.

levERC20: The leverage token is a default ERC20 with no extra capabilities. The leverage is demonstrated by the amount of underlying token redeemable for the levERC20. The pool dictates the worth of the token based on the price movement of the underlying asset using a conditional AMM curve.

PoolFactory: Creates pools and initializes them with the desired parameters.

Plaza Periphery

Router Adapter: Contract used by Li.Fi as an entry point into the pool for users who require a swap or bridge to deposit the required pool asset on the required chain, Base. These call the create, redeem, and swap functions in the pool on behalf of a defined address, from which the pool outputs to the designated user.

Dependencies

**Li.Fi:** Used as the router that allows users to simply bridge to base, swap into, and deposit the underlying asset for use in the pool, regardless of which chain the user is originating on.

LayerZero: The levERC20 and bondERC20 implement the OFT standard, allowing them to be transferred across to other chains. LayerZero is used as the canonical bridge for Plaza derivatives. The OFT standard allows the extended token logic to be replicated across to other chains, which allows bond tokens to conserve their checkpointing properties regardless of what chain the user holds the bonds on.