Required Instructions
Every adaptor must implement these three core instructions:1. Initialize Instruction
- Create protocol-specific accounts
- Initialize state tracking
- Setup token accounts if needed
- Configure protocol-specific parameters
2. Deposit Instruction
- Validate deposit amount
- Handle token transfers
- Interact with protocol
- Track position value
- Return final position amount
3. Withdraw Instruction
- Validate withdrawal amount
- Handle protocol withdrawal
- Transfer tokens back to vault
- Update position tracking
- Return final position amount
State Management
Strategy Account
Strategy Type Definition
Position Value Calculation
Your adaptor must implement accurate position value calculations:Error Handling
Account Validation Patterns
Token Account Validation
Protocol Account Validation
Implementation Checklist
- Implemented all required instructions (Initialize, Deposit, Withdraw)
- Added proper account validation
- Implemented accurate position tracking
- Added comprehensive error handling
- Handled token decimals correctly
- Added protocol-specific security checks
- Tested all error cases
- Validated token account handling
- Added protocol-specific cleanup logic
Security Requirements
- Account Validation: Always validate account ownership, check PDA derivation, verify token account authorities, validate protocol accounts
- Amount Validation: Use checked math operations, handle decimal conversions safely, validate against protocol limits, check for overflows
- State Updates: Update position values atomically, maintain consistent state, handle failed transactions, track version numbers