A comprehensive plugin for interacting with the Injective chain through ElizaOS.
src/
├── auction.ts # Auction module actions
├── auth.ts # Auth module actions
├── bank.ts # Bank module actions
├── distribution.ts # Distribution module actions
├── exchange.ts # Exchange module actions
├── explorer.ts # Explorer module actions
├── gov.ts # Governance module actions
├── ibc.ts # IBC module actions
├── insurance.ts # Insurance module actions
├── mint.ts # Mint module actions
├── mito.ts # Mito module actions
├── peggy.ts # Peggy module actions
├── permissions.ts # Permissions module actions
├── staking.ts # Staking module actions
├── token-factory.ts # Token Factory module actions
├── wasm.ts # WASM module actions
├── base.ts # Base action creation logic
└── index.ts # Main export file
Each module file follows a consistent organization pattern:
// src/[module].ts
import { createGenericAction } from './base';
import * as ModuleTemplates from '@injective/template/[module]';
import * as ModuleExamples from '@injective/examples/[module]';
// Export individual actions
export const Action1 = createGenericAction({...});
export const Action2 = createGenericAction({...});
// Export all actions as a group
export const ModuleActions = [
Action1,
Action2,
// ...other actions
];
// src/index.ts
export * from './auction';
export * from './auth';
// ...other module exports
export const InjectiveActions = [
...ExchangeActions,
...AuctionActions,
// ...other module actions
];
Handles auction-related functionality including module parameters, auction rounds, and bidding.
Manages authentication, account details, and authorization grants.
Handles account balances, token transfers, and supply queries.
Manages reward distribution and withdrawals.
Core exchange functionality including spot/derivative markets, orders, and positions.
Blockchain explorer functionality including transaction and block queries.
Handles protocol governance including proposals and voting.
Inter-Blockchain Communication functionality.
Manages insurance funds and redemptions.
Controls token minting and inflation parameters.
Handles Mito-specific functionality.
Manages Ethereum bridge operations.
Controls role-based access and permissions.
Manages validator operations and delegations.
Handles token creation and management.
Smart contract functionality including deployment and execution.
- Add action to appropriate module file:
export const NewAction = createGenericAction({
name: 'ACTION_NAME',
description: 'Action description',
template: Templates.template,
examples: Examples.example,
functionName: 'functionName',
validateContent: () => true
});
export const ModuleActions = [
...existingActions,
NewAction
];
- Create new module file:
// src/new-module.ts
export const NewModuleActions = [...];
- Add to main exports:
// src/index.ts
export * from './new-module';
npm install @elizaos/plugin-injective
import { InjectiveActions } from '@elizaos/plugin-injective';
Feel free to contribute to more similes, examples and refined templates - for a more robust action contorl.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
ISC