plugins/plugin-wallet/src/analytics/lpinfo/steer/README.md
This module provides comprehensive integration with the Steer Finance liquidity protocol, including both SDK-based and GraphQL-based data retrieval.
The service now automatically enriches vault data with detailed information from the Steer Protocol subgraph:
https://api.subgraph.ormilabs.com/api/public/803c8c8c-be12-4188-8523-b9853e23051d/subgraphs/steer-protocol-base/prod/gn
When a vault is identified, the service automatically fetches:
query GetVault($vaultId: ID!) {
vault(id: $vaultId) {
id
name
token0
token1
pool
weeklyFeeAPR
token0Symbol
token0Decimals
token1Symbol
token1Decimals
token0Balance
token1Balance
totalLPTokensIssued
feeTier
fees0
fees1
strategyToken {
id
name
creator {
id
}
admin
executionBundle
}
beaconName
payloadIpfs
deployer
}
}
// Search for vaults containing a specific token
const tokenStats = await steerLiquidityService.getTokenLiquidityStats(
"0xA0b86a33E6441b8c4C8C1C1B8c4C8C1C1B8c4C8C1B8",
);
// Get detailed vault information (GraphQL + SDK)
const vaultDetails = await steerLiquidityService.getVaultDetails(
"0x88dbbb53aa3253afd45b4ff1b40a84e36608b212",
8453,
);
// Test GraphQL connection
const graphqlStatus = await steerLiquidityService.testGraphQLConnection();
// Test specific vault query
const vaultTest = await steerLiquidityService.testGraphQLVaultQuery(
"0x88dbbb53aa3253afd45b4ff1b40a84e36608b212",
);
Run the GraphQL test script to verify connectivity:
npx ts-node test-graphql.ts
This will test:
The service gracefully handles GraphQL failures:
@steerprotocol/sdk: Official Steer Protocol SDKviem: Ethereum client library@elizaos/core: Core frameworkThe service automatically configures:
The service provides comprehensive logging: