# Friend.tech **Published by:** [web3rocks](https://paragraph.com/@web3rocks/) **Published on:** 2024-05-04 **URL:** https://paragraph.com/@web3rocks/friend-tech ## Content The key points from the provided information about friendtech33 V3 and its Default Framework are as follows:friendtech33 V3 utilizes the Default Framework, which enables extensibility at the base layer through fully onchain governance mechanisms.The Default Framework comprises various components, including the core registry (Kernel), treasury, minter, governor, and the range-bound stability (RBS) system.Actions managed via the Kernel.sol contract in the Default Framework include installing a module, upgrading a module, activating a policy, deactivating a policy, changing the executor, and migrating the kernel.The Executor in friendtech33 V3 is the address with the ability to execute actions within the Kernel, and its ownership is defined at the protocol level within the Kernel.The migration of the Kernel is a sensitive action that reconfigures internal variables for each contract registered in the Kernel and should be carried out with great care and attention to detail.Modules are internal-facing smart contracts responsible for managing specific data models within the system, and Policies are external-facing contracts that intercept inbound calls to the protocol and route changes to the corresponding Modules.Module contracts are referenced internally using a 5-byte uppercase KEYCODE representing their underlying data models. Policies must declare their dependencies to the Kernel as part of the contract state.Specific Modules in friendtech33 V3 include MINTR (Minter), TRSRY (Treasury), PRICE (for historical price oracle data), RANGE (for the RBS system), INSTR (Instructions), and ROLES (for defining roles).Policies in friendtech33 V3 include RBS policies such as Operator, BondCallback, Heart, and PriceConfig; Cooler Loans policies such as Clearinghouse; Governance policies like Parthenon and VohmVault; and General protocol and management policies including TreasuryCustodian, Distributor, RolesAdmin, and Emergency.The provided information includes a Protocol Architecture diagram representing all the active modules and policies in friendtech33 V3.These key points outline the foundational components and mechanisms within friendtech33 V3 and its Default Framework. How does Default Framework support extensibility? The Default Framework in friendtech33 V3 supports extensibility at the base layer through fully onchain governance mechanisms. It offers a mechanism for configuring the protocol's smart contracts and authorized addresses within the system, which enables seamless integration of new components and upgrades. Here's how the Default Framework facilitates extensibility:Kernel Actions: All contract dependencies and authorizations are managed via "Actions" in the Kernel.sol contract. These actions include installing a module, upgrading a module, activating a policy, deactivating a policy, changing the Executor, and migrating the Kernel.Modules and Policies: The framework distinguishes between internal-facing smart contracts (Modules) responsible for managing specific data models within the system, and the external-facing contracts (Policies) that intercept inbound calls to the protocol and route changes to the corresponding Modules.Ownership Model: The Executor, which is the address with the ability to execute actions within the Kernel, is defined at the protocol level within the Kernel. This setup allows for flexibility in defining ownership at the protocol level, enabling easy adaptation to changing governance and operational requirements.Kernel Migration: The ability to perform a Kernel migration allows for the reconfiguration of internal variables for each contract registered in the Kernel. This sensitive action permits porting the protocol contracts to a new instance of a Kernel without redeploying the contracts, demonstrating the adaptability and extensibility of the framework.Dynamic Module Integration: Modules are designed to be internal-facing smart contracts that store shared state across the protocol and act as dependencies for Policies within the protocol. The modular design allows for straightforward integration of new modules, ensuring extensibility and adaptability to evolving protocol needs.Overall, the Default Framework's reliance on fully onchain governance mechanisms and its flexible approach to contract dependencies and authorizations, coupled with the distinction between Modules and Policies, allows for effective extensibility and seamless adaptation to changing requirements within friendtech33 V3. ## Publication Information - [web3rocks](https://paragraph.com/@web3rocks/): Publication homepage - [All Posts](https://paragraph.com/@web3rocks/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@web3rocks): Subscribe to updates - [Twitter](https://twitter.com/LaszloLeonardo): Follow on Twitter