# Allo GOld - Plugin Architecture Research & Development ## Research & Architecture Design Researched generic funding mechanism integration patterns. Identified Eliza's plugin architecture as a promising model that aligns with our platform's needs for supporting generic EVM function calls while maintaining integration flexibility. ## Plugin Interface Extension Extended eliza's base Plugin interface to create `AlloPlugin`, preserving compatibility with Eliza while adding Allo-specific functionality: ```typescript interface AlloPlugin extends Plugin { logo: string; id: string; complexity: number; allowActions?: AlloAction[]; } ``` The base interface provides core plugin capabilities including actions, and service providers, while our extension adds branding and complexity metrics specific to our platform needs. ## Action System Enhancement Developed `AlloAction` interface extending Eliza's base Action type to support manual interaction instead of via an LLM: ```typescript interface AlloAction extends Action { userHandler?: UserHandler; formConfig?: FormConfig; } ``` This enhancement maintains backward compatibility while adding support for user-specific handlers. ## Form Rendering System Implemented a dynamic form rendering system which is pretty easy to extennd as additional inputs are needed. This is an example configuration to build the form equivalent to the program creation step on the [Gitcoin Round Manager](https://manager.gitcoin.co/): ```typescript formConfig: { fields: [ { type: "wallet-addresses", name: "operators", label: "Add Operator(s)" }, { type: "text", name: "programName", label: "Program Name", placeholder: "Enter the name of the Grant Program", description: "This will be your display name", required: true } ] } ``` ## Next Steps Onchain integration of >1 functioning funding mechanisms. Starting with Easy RPGF and moving on to QF