# SDK design ## General stuff ### Data structures `web3` is strange, returns both an `Array` object and an `Object` object. You can index the structures by using positional arguments (`result[]`) but also with `result.name`. --- ## On chain ### Adapters Adapters is a generic registry for assets of various type. Each adapter _adapts_ a particular service of the yearn protocol to a common interface. - **V2 adapter** - **V1 adapter** - **IronBank adapter** - ... adapters also provide user specific positions for a particular vault or for the entire adapted service. ### Registry of adapters > aka: Yearn Lens Lens is a an _adapter_ for adapters, aggregating assets from all the adapters. ### "Oracle" Oracle provides _not quite precise but still useful_ pricing between tokens, using swap services. Oracle will be responsible for providing a TVL and for price normalization ## Off chain ### APY calcs