naftiko: 1.0.0-alpha2 info: label: Chainlens — Contract-Controller description: 'Chainlens — Contract-Controller. 2 operations. Lead operation: Chainlens Retrieve contracts.. Self-contained Naftiko capability covering one Chainlens business surface.' tags: - Chainlens - Contract-Controller created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: CHAINLENS_API_KEY: CHAINLENS_API_KEY capability: consumes: - type: http namespace: chainlens-contract-controller baseUri: '' description: Chainlens — Contract-Controller business capability. Self-contained, no shared references. resources: - name: contracts path: /contracts operations: - name: findcontracts method: GET description: Chainlens Retrieve contracts. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: query in: query type: string required: true - name: contracts-addressHash path: /contracts/{addressHash} operations: - name: getcontract method: GET description: Chainlens Retrieve a contract by its address hash. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: addressHash in: path type: string description: The address hash identifying the contract. required: true exposes: - type: rest namespace: chainlens-contract-controller-rest port: 8080 description: REST adapter for Chainlens — Contract-Controller. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/contracts name: contracts description: REST surface for contracts. operations: - method: GET name: findcontracts description: Chainlens Retrieve contracts. call: chainlens-contract-controller.findcontracts with: query: rest.query outputParameters: - type: object mapping: $. - path: /v1/contracts/{addresshash} name: contracts-addresshash description: REST surface for contracts-addressHash. operations: - method: GET name: getcontract description: Chainlens Retrieve a contract by its address hash. call: chainlens-contract-controller.getcontract with: addressHash: rest.addressHash outputParameters: - type: object mapping: $. - type: mcp namespace: chainlens-contract-controller-mcp port: 9090 transport: http description: MCP adapter for Chainlens — Contract-Controller. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: chainlens-retrieve-contracts description: Chainlens Retrieve contracts. hints: readOnly: true destructive: false idempotent: true call: chainlens-contract-controller.findcontracts with: query: tools.query outputParameters: - type: object mapping: $. - name: chainlens-retrieve-contract-its-address description: Chainlens Retrieve a contract by its address hash. hints: readOnly: true destructive: false idempotent: true call: chainlens-contract-controller.getcontract with: addressHash: tools.addressHash outputParameters: - type: object mapping: $.