Adapters
Adapters are used to extend the SaveToken protocol. They make it possible for the SaveToken protocol to support any asset or insurance token protocols.
Why Adapters
Adapters are used to extend the SaveToken protocol. They make it possible for the SaveToken protocol to support any asset or tokenized insurance protocols.
How do Adapters work
All adapters must inherit from and adhere to the IAsset
and IInsurance
interfaces. Each adapter's implementation must be developed to support the corresponding asset or insurance token interface.
For instance, the AaveAdapter
has been implemented to enable lending on Aave's lending and borrowing protocol. In other words, a SaveToken can be created that uses the AaveAdapter
to interface with Aave's protocol as means to obtain and hold
interest-bearing aTokens
.
Similarly, the CoverAdapter
has been implemented to provide coverage through Cover's insurance protocol. In other words, a SaveToken can be created that uses the CoverAdapter
to interface with Cover's insurance protocol as means to buyInsurance
(i.e., CLAIM
tokens).
Adapters make it easy for developers to extend support for the SaveToken protocol. As new asset and tokenized insurance protocols come to market, they can easily be integrated to work with the SaveToken protocol.
DelegateCall
The SaveToken contract uses delegatecall
to call functions in the asset and insurance adapters. The code in the adapters is then executed in the context of the calling contract and msg.sender
and msg.value
do not change their values
This means that the SaveToken contract can dynamically load code from any asset or insurance adapter address at runtime. Storage, current address, and balance still refer to the SaveToken contract; the adapter contracts only provide function logic to execute. This makes asset and insurance adapters reusable and enables anyone to create a SaveToken that pairs any asset or insurance token they'd like.
Last updated