@steerprotocol/data-connector-loader
v4.1.0
Published
App Loader for Steer Protocol
Downloads
594
Readme
Steer Protocol App Loader
Public API
ExecutionAppConfig: Configuration object forExecutionApp. The legacypoolTypeflags are retained for compatibility only.ExecutionApp: High-level execution entrypoint for running bundles with a config-based constructor.DataConnectorExecution: Executes data connector bundles and handles request/response flow.
Installation
Requires Node.js 18 or newer.
npm install @steerprotocol/data-connector-loader
# or
yarn add @steerprotocol/data-connector-loader
# or
pnpm add @steerprotocol/data-connector-loaderESM Support
This package publishes both CommonJS and ESM entrypoints via exports.
Block-pinned strategy execution (recommended)
Resolve the vault context with @steerprotocol/sdk 3.3+ and pass its successful
VaultExecutionContext straight to executeWithContext. This path makes no
pool, vault, subgraph, latest-block, average-block-time, or wall-clock reads.
Uniswap v3-compatible, Algebra Integral, Aerodrome CL, and normalized Uniswap
v4 contexts are supported. PoolShark remains unsupported by the SDK context API.
import { ExecutionApp } from '@steerprotocol/data-connector-loader';
import { getVaultExecutionContext } from '@steerprotocol/sdk';
const response = await getVaultExecutionContext({ publicClient, vaultAddress, blockNumber, epochTimestamp });
if (!response.success || !response.data) throw new Error(response.error ?? 'Context resolution failed');
const app = new ExecutionApp(legacyCompatibleConfig);
const actions = await app.executeWithContext({
wasmFile: strategyWasmBytes,
vaultConfig: JSON.stringify({ vaultAddress, anchorBlockNumber: Number(blockNumber), strategyConfigData: { epochLength: '3600' } }),
data: connectorOutputs,
executionContext: response.data,
});vaultConfig must include vaultAddress, anchorBlockNumber, and
strategyConfigData.epochLength. Positions are translated at the WASM boundary
from SDK lowerTick/upperTick/relativeWeight to
startTick/endTick/weight; totals remain decimal strings. If SDK reports no
last execution, WASM receives lastExecutionTime: 0 (deterministic, no
wall-clock fallback). Errors are ExecutionContextError
(INVALID_EXECUTION_CONTEXT or EXECUTION_CONTEXT_MISMATCH) and
StrategyExecutionError (STRATEGY_EXECUTION_ERROR); neither is retryable
until its input or strategy failure is corrected. External connector HTTP data
remains external and unpinned.
