@steerprotocol/sdk 4.0.0-next.8 → 4.0.0-next.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1276,9 +1276,9 @@ resolution for both declaration formats, and a Next.js production build with ser
1276
1276
  components. It also checks the rendered SDK chain metadata. The fixture has its own pinned
1277
1277
  dependencies and lockfile; it does not use the legacy SDK or repository module resolution.
1278
1278
  This command requires npm registry access to install consumer dependencies, but no RPC or indexer
1279
- credentials. The dedicated Next SDK CI workflow runs both commands on Node 22.23.4, 24.22.1 and 26.12.1.
1279
+ credentials. The dedicated Next SDK CI workflow runs both commands on Node 22.23.4, 24.22.2 and 26.13.0.
1280
1280
 
1281
- Use `nvm install` and `nvm use` from the repository root to select the default Node 24.22.1 runtime.
1281
+ Use `nvm install` and `nvm use` from the repository root to select the default Node 24.22.2 runtime.
1282
1282
  Both consumer and tooling requirements accept Node ^22.23.4, ^24.22.1 or ^26.12.1; older patches
1283
1283
  and unsupported major lines fall outside the declared runtime support. These minimums follow the
1284
1284
  [October 21, 2026 Node security release](https://nodejs.org/en/blog/vulnerability/october-2026-security-releases),
@@ -1932,8 +1932,9 @@ are checked at the operation block. Only the exact qualified deployment is suppo
1932
1932
  This implementation reserves accrued Steer and strategist fees separately and takes a fixed
1933
1933
  30% cut of earned fees. Its fee cut is rounded once over all ranges, matching original
1934
1934
  `poke()` followed by `getTotalAmounts()` in a single read-only simulation. Other V3 deployments
1935
- keep their existing rounding policy. BSC bulk vault reads retain bounded compatibility
1936
- orchestration; this addition does not introduce a two-RPC bulk optimization.
1935
+ keep their existing rounding policy. BSC now uses optimized bulk resolution and snapshot readers
1936
+ for both Pancake V3 and Reserve V4, with bounded compatibility only after an explicit
1937
+ unsupported-override response. See the bulk execution matrix below.
1937
1938
 
1938
1939
  See [Pancake vault qualification](src/vault/adapters/uniswap-v3/pancake-qualification.md) for
1939
1940
  identities, funded fixtures, retained-response regressions and live test coverage. Separate funded user-flow qualification now covers deposit quotes/preparation, partial/full
@@ -1952,7 +1953,8 @@ A directional override reader preserves both pool swap fees and community shares
1952
1953
  reusing existing position/fee accounting. Vault fees are fixed at 15% with aggregate rounding.
1953
1954
  Normal resolved snapshots take two RPC calls. Unsupported overrides use original-contract
1954
1955
  compatibility reads and the AMM's existing pool-reader fallbacks. Live checks cover funded
1955
- three-range and five-range vaults. Bulk snapshots use bounded existing orchestration.
1956
+ three-range and five-range vaults. Bulk resolution and snapshots now use the shared coordinator
1957
+ with a directional family reader; compatibility remains bounded after explicit feature rejection.
1956
1958
  See [Camelot qualification](src/vault/adapters/algebra-legacy/camelot-qualification.md).
1957
1959
  Funded simulations now also verify deposit quotes/preparation, partial/full withdrawals, user
1958
1960
  positions and wallet discovery. Arbitrum deposit accounting uses the verified Multicall3 deployment.
@@ -2012,6 +2014,32 @@ repeats actual-contract deposits/withdrawals and balance-based discovery at reta
2012
2014
  It uses pinned public indexer responses and paces live RPC calls by 1.5 seconds. No Graph API
2013
2015
  credentials or Base RPC are needed for this isolated runner. Full historical state and temporary
2014
2016
  EOA code overrides must be supported. Native BNB/ETH wrapping helpers remain separate work.
2017
+ ### Bulk vault execution coverage
2018
+
2019
+ Accepting an array does not imply optimized execution. In `4.0.0-next.8`, BSC and Arbitrum
2020
+ accepted both bulk methods but used individual-vault reads with concurrency four. This change
2021
+ adds native bulk readers for their exact qualified deployments.
2022
+
2023
+ | Chain / qualified vaults | Bulk API | Efficient execution in `4.0.0-next.8` | Efficient execution after this change |
2024
+ | --- | --- | --- | --- |
2025
+ | Base: V3, Integral, Aerodrome | Yes | Yes | Yes |
2026
+ | Polygon: registered V3, Legacy, Integral | Yes | Yes | Yes |
2027
+ | BSC: Pancake V3 and Reserve V4 | Yes | No | Yes |
2028
+ | Arbitrum: Camelot legacy | Yes | No | Yes |
2029
+ | Robinhood: NoOracle V4 | Yes | No | Bounded individual reads |
2030
+ | Avalanche: Blackhole | Yes | No | Bounded individual reads |
2031
+
2032
+ On providers supporting code-only overrides, optimized resolution uses two pinned RPC calls per
2033
+ 64-vault page. Snapshots use one original-code/position-count preflight per 16-vault page and one
2034
+ execution call per position-budget chunk (soft budget: 128 ranges). Latest reads add one shared
2035
+ head lookup. These are operating limits, not protocol vault limits. Metadata HTTP requests are
2036
+ separate. Explicit override rejection selects compatibility; provider failures do not select
2037
+ fallback or become individual failed vaults.
2038
+
2039
+ The read-only [BSC/Arbitrum benchmark](tests/integration/benchmarks/vault-bulk.bsc-arbitrum.test.ts)
2040
+ retains RPC/HTTP counts, payload sizes, failures, pinned blocks and sampled single-reader parity.
2041
+ See [benchmark results](benchmarks/README.md#bsc-and-arbitrum-vault-bulk-execution).
2042
+
2015
2043
  ### Partial vault loading and pool reads
2016
2044
 
2017
2045
  Strict calls still reject the whole batch. Opt in to ordered, immutable per-input outcomes: