### Patch Changes - [#423](https://github.com/lifinance/perps-sdk/pull/423) [`3425819`](https://github.com/lifinance/perps-sdk/commit/34258197c7091ba4841f27bfbef59bbf4f480289) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Map Lighter's numeric perp market-stats fields to the decimal strings that `MarketContext` declares. The `market_stats` channel sends `daily_price_change`, `daily_quote_token_volume`, and `daily_base_token_volume` as JSON numbers, and the perp branch of `mapMarketContext` passed the raw numbers into the string-typed `priceChange24h` and `volume24h` fields. The spot b
### Major Changes - [#421](https://github.com/lifinance/perps-sdk/pull/421) [`c0676a8`](https://github.com/lifinance/perps-sdk/commit/c0676a86876ba7ff2edc0a0a5b70de47026168a9) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - **Breaking:** `LighterAccountConfig.referralPresent` no longer comes from an authenticated `/api/v1/referral/userReferrals` read on every `getAccount`. The provider stores the referral code on the local API-key record when the `SET_REFERRAL` action confirms it, and `getAccount` compares that marker with the runtime provider `referralCode`. A key record written by an
### Minor Changes - [#417](https://github.com/lifinance/perps-sdk/pull/417) [`3472180`](https://github.com/lifinance/perps-sdk/commit/34721809db51640a796a07908cbe10c96f912cd7) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Sequence-gate the internal setup drain and return a renderable setup checklist. `checkSetup` now defers an internal (SDK-signed) setup step while a staged user-facing step with a lower `sequence` is outstanding, so Lighter `SET_REFERRAL` no longer fires before `REGISTER_API_KEY`. The Lighter `referral/use` flow now reads the account's applied code first and skips the
### Patch Changes - [#417](https://github.com/lifinance/perps-sdk/pull/417) [`3472180`](https://github.com/lifinance/perps-sdk/commit/34721809db51640a796a07908cbe10c96f912cd7) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Sequence-gate the internal setup drain and return a renderable setup checklist. `checkSetup` now defers an internal (SDK-signed) setup step while a staged user-facing step with a lower `sequence` is outstanding, so Lighter `SET_REFERRAL` no longer fires before `REGISTER_API_KEY`. The Lighter `referral/use` flow now reads the account's applied code first and skips the
### Patch Changes - [#417](https://github.com/lifinance/perps-sdk/pull/417) [`3472180`](https://github.com/lifinance/perps-sdk/commit/34721809db51640a796a07908cbe10c96f912cd7) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Sequence-gate the internal setup drain and return a renderable setup checklist. `checkSetup` now defers an internal (SDK-signed) setup step while a staged user-facing step with a lower `sequence` is outstanding, so Lighter `SET_REFERRAL` no longer fires before `REGISTER_API_KEY`. The Lighter `referral/use` flow now reads the account's applied code first and skips the
### Patch Changes - [#396](https://github.com/lifinance/perps-sdk/pull/396) [`e6f120b`](https://github.com/lifinance/perps-sdk/commit/e6f120b3aabb0dc1814b125f1fd5ee882c6f0945) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add the provider-independent onboarding and internal referral-code contract. `@lifi/perps-types` gains `referral.ts`: `ReferralStatus`, `ReferralActivityResponse`, `ReferralCodeValidation`, `ReferralCodeRejection`, `AttachedReferralCode`, `OwnedReferralCode`, `OwnedReferralCodeEligibility`, `OnboardingRequirement`, and the EIP-712 contracts for two new `ActionType` m
### Minor Changes - [#396](https://github.com/lifinance/perps-sdk/pull/396) [`e6f120b`](https://github.com/lifinance/perps-sdk/commit/e6f120b3aabb0dc1814b125f1fd5ee882c6f0945) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add the provider-independent onboarding and internal referral-code contract. `@lifi/perps-types` gains `referral.ts`: `ReferralStatus`, `ReferralActivityResponse`, `ReferralCodeValidation`, `ReferralCodeRejection`, `AttachedReferralCode`, `OwnedReferralCode`, `OwnedReferralCodeEligibility`, `OnboardingRequirement`, and the EIP-712 contracts for two new `ActionType` m
### Minor Changes - [#396](https://github.com/lifinance/perps-sdk/pull/396) [`e6f120b`](https://github.com/lifinance/perps-sdk/commit/e6f120b3aabb0dc1814b125f1fd5ee882c6f0945) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add the provider-independent onboarding and internal referral-code contract. `@lifi/perps-types` gains `referral.ts`: `ReferralStatus`, `ReferralActivityResponse`, `ReferralCodeValidation`, `ReferralCodeRejection`, `AttachedReferralCode`, `OwnedReferralCode`, `OwnedReferralCodeEligibility`, `OnboardingRequirement`, and the EIP-712 contracts for two new `ActionType` m
### Patch Changes - [#396](https://github.com/lifinance/perps-sdk/pull/396) [`e6f120b`](https://github.com/lifinance/perps-sdk/commit/e6f120b3aabb0dc1814b125f1fd5ee882c6f0945) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add the provider-independent onboarding and internal referral-code contract. `@lifi/perps-types` gains `referral.ts`: `ReferralStatus`, `ReferralActivityResponse`, `ReferralCodeValidation`, `ReferralCodeRejection`, `AttachedReferralCode`, `OwnedReferralCode`, `OwnedReferralCodeEligibility`, `OnboardingRequirement`, and the EIP-712 contracts for two new `ActionType` m
### Minor Changes - [#414](https://github.com/lifinance/perps-sdk/pull/414) [`1de3304`](https://github.com/lifinance/perps-sdk/commit/1de3304ce4b8fadf807be480a354b12d3116d3a1) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Reclaim a stale LI.FI-owned Ondo API key when an account reaches the key limit. ### Patch Changes - [#396](https://github.com/lifinance/perps-sdk/pull/396) [`e6f120b`](https://github.com/lifinance/perps-sdk/commit/e6f120b3aabb0dc1814b125f1fd5ee882c6f0945) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add the provider-independent onboarding and internal refer
### Minor Changes - [#408](https://github.com/lifinance/perps-sdk/pull/408) [`ff5f2bd`](https://github.com/lifinance/perps-sdk/commit/ff5f2bdb23d4ad92ea31c821baa3d6f585661b9b) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add an optional `leverage` multiple to `Fill`, and populate it in the Lighter fill mapper from the venue's pre-trade initial margin fraction. ### Patch Changes - [#405](https://github.com/lifinance/perps-sdk/pull/405) [`a29315c`](https://github.com/lifinance/perps-sdk/commit/a29315c27d7419246f9d7d7939314edb63cffef0) Thanks [@aaronmboyd](https://github.com/aaronmboyd)
### Minor Changes - [#407](https://github.com/lifinance/perps-sdk/pull/407) [`ad734ee`](https://github.com/lifinance/perps-sdk/commit/ad734ee904a50c7c99abd489d25e819e7d9bc957) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add an optional `counterpartyAddress` to `DepositActivity`. The Ondo activity mapper populates it from the deposit's `fromAddress`. ### Patch Changes - Updated dependencies \[[`a29315c`](https://github.com/lifinance/perps-sdk/commit/a29315c27d7419246f9d7d7939314edb63cffef0), [`ff5f2bd`](https://github.com/lifinance/perps-sdk/commit/ff5f2bdb23d4ad92ea31c821baa3d6f5856
### Minor Changes - [#405](https://github.com/lifinance/perps-sdk/pull/405) [`a29315c`](https://github.com/lifinance/perps-sdk/commit/a29315c27d7419246f9d7d7939314edb63cffef0) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Resolve the Lighter account tier from the `/accountLimits` tier string, so a `plus` account reports its tier instead of `null`. `LighterAccountConfig` gains the optional `userTierName`. - [#408](https://github.com/lifinance/perps-sdk/pull/408) [`ff5f2bd`](https://github.com/lifinance/perps-sdk/commit/ff5f2bdb23d4ad92ea31c821baa3d6f585661b9b) Thanks [@aaronmboyd](http
### Patch Changes - [#405](https://github.com/lifinance/perps-sdk/pull/405) [`a29315c`](https://github.com/lifinance/perps-sdk/commit/a29315c27d7419246f9d7d7939314edb63cffef0) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Resolve the Lighter account tier from the `/accountLimits` tier string, so a `plus` account reports its tier instead of `null`. `LighterAccountConfig` gains the optional `userTierName`. - Updated dependencies \[[`a29315c`](https://github.com/lifinance/perps-sdk/commit/a29315c27d7419246f9d7d7939314edb63cffef0), [`ff5f2bd`](https://github.com/lifinance/perps-sdk/commit
### Minor Changes - [#402](https://github.com/lifinance/perps-sdk/pull/402) [`03b0343`](https://github.com/lifinance/perps-sdk/commit/03b03436a319b9473354a0c96b748b7060f53ad2) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Lighter read-only token approval now revokes the SDK's own stale registry rows before it creates a replacement, and persists the `token_id` Lighter assigns to each new row.
### Minor Changes - [#400](https://github.com/lifinance/perps-sdk/pull/400) [`e5e25c8`](https://github.com/lifinance/perps-sdk/commit/e5e25c8a86e53f6e407252c9a2855a09a5901f3f) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Add the `REVOKE_AGENT` action type and its params (ORD-1510) - `ActionType.REVOKE_AGENT` (`revokeAgent`) with an `ActionParamsMap` entry, so `CreateActionRequest` / `ExecuteActionRequest` cover the revoke action. - `RevokeAgentParams` with the revoke target: the agent `address` and the `name` the venue holds for it. Both are required, because HyperCore identifies a n
### Patch Changes - [#394](https://github.com/lifinance/perps-sdk/pull/394) [`41e447f`](https://github.com/lifinance/perps-sdk/commit/41e447f1acf0cd44ee03b6d92059dbfa2e8e4412) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Retain the Hyperliquid builder-fee amount and client order ID on `Fill`. `HlUserFill` now declares the optional `builderFee` and `cloid` fields `userFills` returns, and `mapFill` projects them into the new optional `Fill.builderFee` (a `Fee`, so the builder portion carries its own token — the same token Hyperliquid charges the total fee in) and `Fill.clientOrderId`.
### Minor Changes - [#394](https://github.com/lifinance/perps-sdk/pull/394) [`41e447f`](https://github.com/lifinance/perps-sdk/commit/41e447f1acf0cd44ee03b6d92059dbfa2e8e4412) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Retain the Hyperliquid builder-fee amount and client order ID on `Fill`. `HlUserFill` now declares the optional `builderFee` and `cloid` fields `userFills` returns, and `mapFill` projects them into the new optional `Fill.builderFee` (a `Fee`, so the builder portion carries its own token — the same token Hyperliquid charges the total fee in) and `Fill.clientOrderId`.
### Patch Changes - [#394](https://github.com/lifinance/perps-sdk/pull/394) [`41e447f`](https://github.com/lifinance/perps-sdk/commit/41e447f1acf0cd44ee03b6d92059dbfa2e8e4412) Thanks [@aaronmboyd](https://github.com/aaronmboyd)! - Retain the Hyperliquid builder-fee amount and client order ID on `Fill`. `HlUserFill` now declares the optional `builderFee` and `cloid` fields `userFills` returns, and `mapFill` projects them into the new optional `Fill.builderFee` (a `Fee`, so the builder portion carries its own token — the same token Hyperliquid charges the total fee in) and `Fill.clientOrderId`.