The Teller contract handles all interactions with end users and manages tokens issued to represent bond positions.
Users purchase bonds by depositing Quote Tokens and receive a Bond Token (token type is implementation-specific) that represents their payout and the designated maturity.
Once a bond vests, users can redeem their Bond Tokens for the underlying Payout Token.
A Teller requires one or more Auctioneer contracts to be deployed to provide markets for users to purchase bonds from.
A Teller depends on an Aggregator contract to get market information to complete purchases.