@metamask-previews/perps-controller 19.0.0-preview-3b264bf6d → 19.0.0-preview-5e76941

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/README.md +9 -4
  3. package/dist/PerpsController-method-action-types.d.ts +4 -0
  4. package/dist/PerpsController-method-action-types.d.ts.map +1 -1
  5. package/dist/PerpsController-method-action-types.js.map +1 -1
  6. package/dist/PerpsController.d.ts +4 -0
  7. package/dist/PerpsController.d.ts.map +1 -1
  8. package/dist/PerpsController.js +145 -15
  9. package/dist/PerpsController.js.map +1 -1
  10. package/dist/providers/HyperLiquidProvider.d.ts.map +1 -1
  11. package/dist/providers/HyperLiquidProvider.js +329 -78
  12. package/dist/providers/HyperLiquidProvider.js.map +1 -1
  13. package/dist/services/DataLakeService.d.ts.map +1 -1
  14. package/dist/services/DataLakeService.js +20 -2
  15. package/dist/services/DataLakeService.js.map +1 -1
  16. package/dist/services/HyperLiquidClientService.d.ts +17 -0
  17. package/dist/services/HyperLiquidClientService.d.ts.map +1 -1
  18. package/dist/services/HyperLiquidClientService.js +44 -1
  19. package/dist/services/HyperLiquidClientService.js.map +1 -1
  20. package/dist/services/HyperLiquidSubscriptionService.d.ts +7 -1
  21. package/dist/services/HyperLiquidSubscriptionService.d.ts.map +1 -1
  22. package/dist/services/HyperLiquidSubscriptionService.js.map +1 -1
  23. package/dist/services/HyperLiquidWalletService.d.ts +7 -3
  24. package/dist/services/HyperLiquidWalletService.d.ts.map +1 -1
  25. package/dist/services/HyperLiquidWalletService.js +42 -19
  26. package/dist/services/HyperLiquidWalletService.js.map +1 -1
  27. package/dist/services/RewardsIntegrationService.d.ts.map +1 -1
  28. package/dist/services/RewardsIntegrationService.js +50 -41
  29. package/dist/services/RewardsIntegrationService.js.map +1 -1
  30. package/dist/services/missingActionHandler.d.ts +17 -0
  31. package/dist/services/missingActionHandler.d.ts.map +1 -0
  32. package/dist/services/missingActionHandler.js +29 -0
  33. package/dist/services/missingActionHandler.js.map +1 -0
  34. package/dist/types/index.d.ts +34 -6
  35. package/dist/types/index.d.ts.map +1 -1
  36. package/dist/types/index.js.map +1 -1
  37. package/dist/utils/subscriptionFeeWaiver.d.ts +2 -1
  38. package/dist/utils/subscriptionFeeWaiver.d.ts.map +1 -1
  39. package/dist/utils/subscriptionFeeWaiver.js +3 -1
  40. package/dist/utils/subscriptionFeeWaiver.js.map +1 -1
  41. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -7,16 +7,44 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ### Added
11
+
12
+ - Add optional `PerpsAccountSigner.getChainId`. When set, HyperLiquid user-signed actions (builder fee approval, withdrawals, transfers) are signed for the chain it returns instead of chain 1, so a wallet that only signs for its connected chain does not switch chains ([#10643](https://github.com/MetaMask/core/pull/10643))
13
+ - Add optional `feeSource` to `FeeCalculationResult`, reporting which fee source (`default`, `rewards` or `subscription`) won the fee resolution the quoted MetaMask fee was priced from, so clients can attribute the discount shown in a fee preview without re-deriving it from the rates ([#10650](https://github.com/MetaMask/core/pull/10650))
14
+ - Absent when the quote was not re-priced from a fee resolution, for example a placement that carries no MetaMask builder fee
15
+ - `rewards` can carry a 0% discount, so check `metamaskFeeRate` before presenting it as a reduction
16
+
10
17
  ### Changed
11
18
 
12
19
  - **BREAKING:** `OrderFill.pnl` is optional when the venue omits realized PnL. Consumers must preserve missing amounts as unknown when aggregating or displaying fills; only a reported `'0'` is zero ([#10605](https://github.com/MetaMask/core/pull/10605))
20
+ - `HyperLiquidProvider.getExchangeClient` initializes the provider's SDK clients before returning the exchange client, so it signs L1 actions with the provider's agent ([#10643](https://github.com/MetaMask/core/pull/10643))
13
21
 
14
22
  ### Fixed
15
23
 
16
24
  - Accept Lighter trades that omit position-sign flags, preserve omitted account PnL as unknown, and reject known reductions without realized PnL. Retain side-only fill directions when lifecycle context is ambiguous ([#10605](https://github.com/MetaMask/core/pull/10605))
25
+ - Detect a revoked or expired HyperLiquid agent that the venue answers with "Must deposit before performing actions" ([#10643](https://github.com/MetaMask/core/pull/10643))
26
+ - The provider then checks `extraAgents` for the agent that signed the answered request. When it is missing or past its `validUntil`, the write fails with `KEYRING_LOCKED`, the agent is dropped and `onAgentRejected` is called. Requests signed by the main account, or by a wallet of an earlier network or session, are not checked
27
+ - When the agent is still listed (an account with no funds), or the list cannot be read, the venue error is returned as before
28
+ - Sign a HyperLiquid L1 action the SDK queued before a network switch with the agent of the network it was queued on, not the new network's ([#10643](https://github.com/MetaMask/core/pull/10643))
29
+ - Attribute a HyperLiquid "User or API Wallet ... does not exist" rejection to the network of the request it answers, so an agent used on both networks is dropped, and `onAgentRejected` called, only for that network ([#10643](https://github.com/MetaMask/core/pull/10643))
30
+ - Stop asking again for a HyperLiquid builder fee approval the venue refused for a reason signing again cannot fix, such as "Builder has insufficient balance to be approved" ([#10643](https://github.com/MetaMask/core/pull/10643))
31
+ - Until the provider disconnects, the approval is not requested again: orders are sent as after any failed approval, TP/SL updates fail with `TPSL_UPDATE_FAILED`, and `prepareTradingWallet` returns the venue error
17
32
  - Stop reporting HyperLiquid WebSocket transport failures (a closed or terminated socket, request timeout or abort) during the unified-account setup as errors ([#10651](https://github.com/MetaMask/core/pull/10651))
18
33
  - After such a failure, provider entry waits one minute before running the setup again instead of retrying every time; `reconnect()` or `disconnect()` ends the wait, and trading and withdraw still run the setup
19
34
  - Venue rejections, signing failures and other setup errors are still reported
35
+ - Degrade without logging an error when the host does not provide an optional messenger action, whether it is unregistered or not delegated to `PerpsController` ([#10665](https://github.com/MetaMask/core/pull/10665))
36
+ - `SubscriptionController:getBenefits` (fee waiver): an undelegated action now reads as no subscription source, as an unregistered one already did, instead of logging an error when no injected `subscription` source is wired
37
+ - `NetworkController:getState` / `getNetworkClientById` (rewards discount): no discount instead of an error
38
+ - `AuthenticationController:getBearerToken` (data-lake report): skipped instead of logged and retried; a report skipped for a missing account or token now also ends its trace
39
+ - `AuthenticatedUserStorageService:getNotificationPreferences` / `putNotificationPreferences` (watchlist sync): the local watchlist is kept instead of logging an error and reverting the toggle. AUS stays the source of truth: with the read but not the write, a toggle is replaced by the next hydration from AUS queued after it, which every initialization runs (`init()`, including after `disconnect()`, `toggleTestnet()` and `switchProvider()`)
40
+ - Only a missing handler for the exact action called counts. A delegated handler that fails is still reported, including when it fails on a missing handler for another action (such as AUS missing `AuthenticationController:getBearerToken`, or a `NetworkController` read missing the other one), and so is a failure of the injected `rewards` dependency. The exceptions are unchanged: when an injected `subscription` source is wired, a failing `SubscriptionController:getBenefits` handler still falls back to it, and so does a `registerAddress` handler that throws synchronously (an asynchronous `registerAddress` rejection skips registration)
41
+ - The "Chain ID not found" error for the rewards discount now includes the `getNetworkClientById` failure that caused it
42
+ - `RemoteFeatureFlagController:getState` in the constructor and `startEligibilityMonitoring`, `GeolocationController`, `KeyringController` and `TransactionController` are unchanged and still report errors
43
+ - Keep watchlist toggles made while an AuthenticatedUserStorageService hydration is queued or in flight, applying them on top of the remote watchlist instead of overwriting them with it ([#10665](https://github.com/MetaMask/core/pull/10665), [#10670](https://github.com/MetaMask/core/pull/10670))
44
+ - A hydration started by a re-initialization (`init()` after `disconnect()`, `toggleTestnet()`, `switchProvider()`) now waits for earlier watchlist writes, so it no longer drops a star made just before it. Re-initialization no longer replaces the AUS queue, so a hydration read that never settles now also holds later watchlist writes
45
+ - Undo only the failed toggle when syncing a watchlist toggle to AuthenticatedUserStorageService fails, instead of restoring the watchlist from before that toggle, which also discarded hydrated markets and later toggles of other markets ([#10670](https://github.com/MetaMask/core/pull/10670))
46
+ - An unstarred market goes back to its position
47
+ - A toggle is not undone when a later toggle of the same market supersedes it; that toggle's own sync decides the market's state
20
48
 
21
49
  ## [19.0.0]
22
50
 
package/README.md CHANGED
@@ -70,9 +70,11 @@ increase or reduce the existing position.
70
70
 
71
71
  By default the controller signs through the `KeyringController:*` messenger
72
72
  actions. A client without a keyring passes `accountSigner` in its platform
73
- dependencies (`signTypedData`, `signPersonalMessage`, optional `isReady` and
74
- `requiresSignatureConfirmation`); the signing address still comes from the
75
- selected account, and a signer that is not ready fails with `KEYRING_LOCKED`.
73
+ dependencies (`signTypedData`, `signPersonalMessage`, optional `isReady`,
74
+ `requiresSignatureConfirmation` and `getChainId`); the signing address still
75
+ comes from the selected account, and a signer that is not ready fails with
76
+ `KEYRING_LOCKED`. HyperLiquid user-signed actions are signed for the chain
77
+ `getChainId` returns, or for chain 1 without it.
76
78
 
77
79
  HyperLiquid L1 actions (orders, cancels, leverage, ...) can be signed by a
78
80
  client-owned agent key: return it from
@@ -81,7 +83,10 @@ account and network with `PerpsController:setAgentSigner`. User-signed actions
81
83
  (builder fee, withdrawals) stay on the main account, and approving the agent
82
84
  is the client's job. When the venue rejects an agent (revoked or expired), the
83
85
  write fails with `KEYRING_LOCKED`, the agent is dropped and
84
- `providerCredentials.hyperliquid.onAgentRejected` is called. Call
86
+ `providerCredentials.hyperliquid.onAgentRejected` is called. A "Must deposit
87
+ before performing actions" answer to a request the agent signed counts as a
88
+ rejection only when `extraAgents` no longer lists the agent, which needs a
89
+ named agent. Call
85
90
  `PerpsController:clearAgentSigners` when the agent key locks.
86
91
 
87
92
  `PerpsController:prepareTradingWallet` runs the setup that needs signatures
@@ -896,6 +896,10 @@ export type PerpsControllerClearAgentSignersAction = {
896
896
  * - `NO_ACCOUNT_SELECTED` when no account is selected;
897
897
  * - `PROVIDER_LIFECYCLE_STALE` when the provider disconnected or the account
898
898
  * changed during setup;
899
+ * - the venue's message when HyperLiquid refused the builder fee approval
900
+ * for a reason signing again cannot fix (for example "Builder has
901
+ * insufficient balance to be approved"); it is not logged, and the
902
+ * approval is not asked for again until the provider disconnects;
899
903
  * - otherwise the message of the error that stopped setup, which is logged.
900
904
  * @throws Like the other provider-backed actions, `CLIENT_NOT_INITIALIZED`
901
905
  * before `init`, and `CLIENT_REINITIALIZING` or `PROVIDER_NOT_AVAILABLE`
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsController-method-action-types.d.ts","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,MAAM,yDAAyD,GAAG;IACtE,IAAI,EAAE,sDAAsD,CAAC;IAC7D,OAAO,EAAE,eAAe,CAAC,sCAAsC,CAAC,CAAC;CAClE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uDAAuD,GAAG;IACpE,IAAI,EAAE,oDAAoD,CAAC;IAC3D,OAAO,EAAE,eAAe,CAAC,oCAAoC,CAAC,CAAC;CAChE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,kCAAkC,CAAC;IACzC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,6CAA6C,GAAG;IAC1D,IAAI,EAAE,0CAA0C,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,iDAAiD,GAAG;IAC9D,IAAI,EAAE,8CAA8C,CAAC;IACrD,OAAO,EAAE,eAAe,CAAC,8BAA8B,CAAC,CAAC;CAC1D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,iCAAiC,CAAC;IACxC,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,kCAAkC,CAAC;IACzC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC9C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gDAAgD,GAAG;IAC7D,IAAI,EAAE,6CAA6C,CAAC;IACpD,OAAO,EAAE,eAAe,CAAC,6BAA6B,CAAC,CAAC;CACzD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,mDAAmD,GAAG;IAChE,IAAI,EAAE,gDAAgD,CAAC;IACvD,OAAO,EAAE,eAAe,CAAC,gCAAgC,CAAC,CAAC;CAC5D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oDAAoD,GAAG;IACjE,IAAI,EAAE,iDAAiD,CAAC;IACxD,OAAO,EAAE,eAAe,CAAC,iCAAiC,CAAC,CAAC;CAC7D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oDAAoD,GAAG;IACjE,IAAI,EAAE,iDAAiD,CAAC;IACxD,OAAO,EAAE,eAAe,CAAC,iCAAiC,CAAC,CAAC;CAC7D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iDAAiD,GAAG;IAC9D,IAAI,EAAE,8CAA8C,CAAC;IACrD,OAAO,EAAE,eAAe,CAAC,8BAA8B,CAAC,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mDAAmD,GAAG;IAChE,IAAI,EAAE,gDAAgD,CAAC;IACvD,OAAO,EAAE,eAAe,CAAC,gCAAgC,CAAC,CAAC;CAC5D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gDAAgD,GAAG;IAC7D,IAAI,EAAE,6CAA6C,CAAC;IACpD,OAAO,EAAE,eAAe,CAAC,6BAA6B,CAAC,CAAC;CACzD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,6CAA6C,GAAG;IAC1D,IAAI,EAAE,0CAA0C,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GACpC,yDAAyD,GACzD,uDAAuD,GACvD,wCAAwC,GACxC,yBAAyB,GACzB,sCAAsC,GACtC,4CAA4C,GAC5C,yCAAyC,GACzC,sCAAsC,GACtC,wCAAwC,GACxC,+BAA+B,GAC/B,8BAA8B,GAC9B,gCAAgC,GAChC,kCAAkC,GAClC,mCAAmC,GACnC,uCAAuC,GACvC,iCAAiC,GACjC,kCAAkC,GAClC,mCAAmC,GACnC,uCAAuC,GACvC,iCAAiC,GACjC,iCAAiC,GACjC,4CAA4C,GAC5C,qCAAqC,GACrC,uCAAuC,GACvC,wCAAwC,GACxC,2CAA2C,GAC3C,kDAAkD,GAClD,6CAA6C,GAC7C,0CAA0C,GAC1C,6BAA6B,GAC7B,iCAAiC,GACjC,kCAAkC,GAClC,+CAA+C,GAC/C,2CAA2C,GAC3C,iDAAiD,GACjD,8BAA8B,GAC9B,kCAAkC,GAClC,+BAA+B,GAC/B,oCAAoC,GACpC,2CAA2C,GAC3C,+BAA+B,GAC/B,4CAA4C,GAC5C,2CAA2C,GAC3C,0CAA0C,GAC1C,qCAAqC,GACrC,2CAA2C,GAC3C,8CAA8C,GAC9C,0CAA0C,GAC1C,+CAA+C,GAC/C,mCAAmC,GACnC,kCAAkC,GAClC,0CAA0C,GAC1C,uCAAuC,GACvC,wCAAwC,GACxC,0CAA0C,GAC1C,0CAA0C,GAC1C,4CAA4C,GAC5C,kCAAkC,GAClC,mCAAmC,GACnC,sCAAsC,GACtC,wCAAwC,GACxC,gDAAgD,GAChD,+CAA+C,GAC/C,8BAA8B,GAC9B,sCAAsC,GACtC,yCAAyC,GACzC,0CAA0C,GAC1C,0CAA0C,GAC1C,sCAAsC,GACtC,uCAAuC,GACvC,yCAAyC,GACzC,uCAAuC,GACvC,sCAAsC,GACtC,sCAAsC,GACtC,kCAAkC,GAClC,mCAAmC,GACnC,sCAAsC,GACtC,yCAAyC,GACzC,kDAAkD,GAClD,mDAAmD,GACnD,+BAA+B,GAC/B,+CAA+C,GAC/C,8CAA8C,GAC9C,uCAAuC,GACvC,wCAAwC,GACxC,oDAAoD,GACpD,0CAA0C,GAC1C,4CAA4C,GAC5C,4CAA4C,GAC5C,oDAAoD,GACpD,0CAA0C,GAC1C,2CAA2C,GAC3C,kDAAkD,GAClD,iDAAiD,GACjD,mDAAmD,GACnD,+CAA+C,GAC/C,gDAAgD,GAChD,mCAAmC,GACnC,mCAAmC,GACnC,4CAA4C,GAC5C,4CAA4C,GAC5C,yCAAyC,GACzC,yCAAyC,GACzC,0CAA0C,GAC1C,0CAA0C,GAC1C,4CAA4C,GAC5C,4CAA4C,GAC5C,iCAAiC,GACjC,4CAA4C,GAC5C,8CAA8C,GAC9C,yCAAyC,GACzC,0CAA0C,GAC1C,kCAAkC,GAClC,mCAAmC,GACnC,0CAA0C,GAC1C,sCAAsC,GACtC,wCAAwC,GACxC,uCAAuC,GACvC,6CAA6C,GAC7C,8CAA8C,CAAC"}
1
+ {"version":3,"file":"PerpsController-method-action-types.d.ts","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE5D;;;;;;;;;GASG;AACH,MAAM,MAAM,yDAAyD,GAAG;IACtE,IAAI,EAAE,sDAAsD,CAAC;IAC7D,OAAO,EAAE,eAAe,CAAC,sCAAsC,CAAC,CAAC;CAClE,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,uDAAuD,GAAG;IACpE,IAAI,EAAE,oDAAoD,CAAC;IAC3D,OAAO,EAAE,eAAe,CAAC,oCAAoC,CAAC,CAAC;CAChE,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,sBAAsB,CAAC;IAC7B,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG;IAC7C,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE,eAAe,CAAC,aAAa,CAAC,CAAC;CACzC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,kCAAkC,CAAC;IACzC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC9C,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,6CAA6C,GAAG;IAC1D,IAAI,EAAE,0CAA0C,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC;CACtC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,iDAAiD,GAAG;IAC9D,IAAI,EAAE,8CAA8C,CAAC;IACrD,OAAO,EAAE,eAAe,CAAC,8BAA8B,CAAC,CAAC;CAC1D,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,oCAAoC,GAAG;IACjD,IAAI,EAAE,iCAAiC,CAAC;IACxC,OAAO,EAAE,eAAe,CAAC,iBAAiB,CAAC,CAAC;CAC7C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,qCAAqC,GAAG;IAClD,IAAI,EAAE,kCAAkC,CAAC;IACzC,OAAO,EAAE,eAAe,CAAC,kBAAkB,CAAC,CAAC;CAC9C,CAAC;AAEF;;;;;;;;;;GAUG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gDAAgD,GAAG;IAC7D,IAAI,EAAE,6CAA6C,CAAC;IACpD,OAAO,EAAE,eAAe,CAAC,6BAA6B,CAAC,CAAC;CACzD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE,eAAe,CAAC,WAAW,CAAC,CAAC;CACvC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,mDAAmD,GAAG;IAChE,IAAI,EAAE,gDAAgD,CAAC;IACvD,OAAO,EAAE,eAAe,CAAC,gCAAgC,CAAC,CAAC;CAC5D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,+BAA+B,GAAG;IAC5C,IAAI,EAAE,4BAA4B,CAAC;IACnC,OAAO,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;CACxC,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oDAAoD,GAAG;IACjE,IAAI,EAAE,iDAAiD,CAAC;IACxD,OAAO,EAAE,eAAe,CAAC,iCAAiC,CAAC,CAAC;CAC7D,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,oDAAoD,GAAG;IACjE,IAAI,EAAE,iDAAiD,CAAC;IACxD,OAAO,EAAE,eAAe,CAAC,iCAAiC,CAAC,CAAC;CAC7D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,2CAA2C,GAAG;IACxD,IAAI,EAAE,wCAAwC,CAAC;IAC/C,OAAO,EAAE,eAAe,CAAC,wBAAwB,CAAC,CAAC;CACpD,CAAC;AAEF;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,kDAAkD,GAAG;IAC/D,IAAI,EAAE,+CAA+C,CAAC;IACtD,OAAO,EAAE,eAAe,CAAC,+BAA+B,CAAC,CAAC;CAC3D,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,iDAAiD,GAAG;IAC9D,IAAI,EAAE,8CAA8C,CAAC;IACrD,OAAO,EAAE,eAAe,CAAC,8BAA8B,CAAC,CAAC;CAC1D,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mDAAmD,GAAG;IAChE,IAAI,EAAE,gDAAgD,CAAC;IACvD,OAAO,EAAE,eAAe,CAAC,gCAAgC,CAAC,CAAC;CAC5D,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,+CAA+C,GAAG;IAC5D,IAAI,EAAE,4CAA4C,CAAC;IACnD,OAAO,EAAE,eAAe,CAAC,4BAA4B,CAAC,CAAC;CACxD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,gDAAgD,GAAG;IAC7D,IAAI,EAAE,6CAA6C,CAAC;IACpD,OAAO,EAAE,eAAe,CAAC,6BAA6B,CAAC,CAAC;CACzD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,iCAAiC,GAAG;IAC9C,IAAI,EAAE,8BAA8B,CAAC;IACrC,OAAO,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;CAC1C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,4CAA4C,GAAG;IACzD,IAAI,EAAE,yCAAyC,CAAC;IAChD,OAAO,EAAE,eAAe,CAAC,yBAAyB,CAAC,CAAC;CACrD,CAAC;AAEF;;;GAGG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yCAAyC,GAAG;IACtD,IAAI,EAAE,sCAAsC,CAAC;IAC7C,OAAO,EAAE,eAAe,CAAC,sBAAsB,CAAC,CAAC;CAClD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,kCAAkC,GAAG;IAC/C,IAAI,EAAE,+BAA+B,CAAC;IACtC,OAAO,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;CAC3C,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,mCAAmC,GAAG;IAChD,IAAI,EAAE,gCAAgC,CAAC;IACvC,OAAO,EAAE,eAAe,CAAC,gBAAgB,CAAC,CAAC;CAC5C,CAAC;AAEF;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,0CAA0C,GAAG;IACvD,IAAI,EAAE,uCAAuC,CAAC;IAC9C,OAAO,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC;CACnD,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,sCAAsC,GAAG;IACnD,IAAI,EAAE,mCAAmC,CAAC;IAC1C,OAAO,EAAE,eAAe,CAAC,mBAAmB,CAAC,CAAC;CAC/C,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,wCAAwC,GAAG;IACrD,IAAI,EAAE,qCAAqC,CAAC;IAC5C,OAAO,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;CACjD,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,uCAAuC,GAAG;IACpD,IAAI,EAAE,oCAAoC,CAAC;IAC3C,OAAO,EAAE,eAAe,CAAC,oBAAoB,CAAC,CAAC;CAChD,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,MAAM,6CAA6C,GAAG;IAC1D,IAAI,EAAE,0CAA0C,CAAC;IACjD,OAAO,EAAE,eAAe,CAAC,0BAA0B,CAAC,CAAC;CACtD,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,8CAA8C,GAAG;IAC3D,IAAI,EAAE,2CAA2C,CAAC;IAClD,OAAO,EAAE,eAAe,CAAC,2BAA2B,CAAC,CAAC;CACvD,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,4BAA4B,GACpC,yDAAyD,GACzD,uDAAuD,GACvD,wCAAwC,GACxC,yBAAyB,GACzB,sCAAsC,GACtC,4CAA4C,GAC5C,yCAAyC,GACzC,sCAAsC,GACtC,wCAAwC,GACxC,+BAA+B,GAC/B,8BAA8B,GAC9B,gCAAgC,GAChC,kCAAkC,GAClC,mCAAmC,GACnC,uCAAuC,GACvC,iCAAiC,GACjC,kCAAkC,GAClC,mCAAmC,GACnC,uCAAuC,GACvC,iCAAiC,GACjC,iCAAiC,GACjC,4CAA4C,GAC5C,qCAAqC,GACrC,uCAAuC,GACvC,wCAAwC,GACxC,2CAA2C,GAC3C,kDAAkD,GAClD,6CAA6C,GAC7C,0CAA0C,GAC1C,6BAA6B,GAC7B,iCAAiC,GACjC,kCAAkC,GAClC,+CAA+C,GAC/C,2CAA2C,GAC3C,iDAAiD,GACjD,8BAA8B,GAC9B,kCAAkC,GAClC,+BAA+B,GAC/B,oCAAoC,GACpC,2CAA2C,GAC3C,+BAA+B,GAC/B,4CAA4C,GAC5C,2CAA2C,GAC3C,0CAA0C,GAC1C,qCAAqC,GACrC,2CAA2C,GAC3C,8CAA8C,GAC9C,0CAA0C,GAC1C,+CAA+C,GAC/C,mCAAmC,GACnC,kCAAkC,GAClC,0CAA0C,GAC1C,uCAAuC,GACvC,wCAAwC,GACxC,0CAA0C,GAC1C,0CAA0C,GAC1C,4CAA4C,GAC5C,kCAAkC,GAClC,mCAAmC,GACnC,sCAAsC,GACtC,wCAAwC,GACxC,gDAAgD,GAChD,+CAA+C,GAC/C,8BAA8B,GAC9B,sCAAsC,GACtC,yCAAyC,GACzC,0CAA0C,GAC1C,0CAA0C,GAC1C,sCAAsC,GACtC,uCAAuC,GACvC,yCAAyC,GACzC,uCAAuC,GACvC,sCAAsC,GACtC,sCAAsC,GACtC,kCAAkC,GAClC,mCAAmC,GACnC,sCAAsC,GACtC,yCAAyC,GACzC,kDAAkD,GAClD,mDAAmD,GACnD,+BAA+B,GAC/B,+CAA+C,GAC/C,8CAA8C,GAC9C,uCAAuC,GACvC,wCAAwC,GACxC,oDAAoD,GACpD,0CAA0C,GAC1C,4CAA4C,GAC5C,4CAA4C,GAC5C,oDAAoD,GACpD,0CAA0C,GAC1C,2CAA2C,GAC3C,kDAAkD,GAClD,iDAAiD,GACjD,mDAAmD,GACnD,+CAA+C,GAC/C,gDAAgD,GAChD,mCAAmC,GACnC,mCAAmC,GACnC,4CAA4C,GAC5C,4CAA4C,GAC5C,yCAAyC,GACzC,yCAAyC,GACzC,0CAA0C,GAC1C,0CAA0C,GAC1C,4CAA4C,GAC5C,4CAA4C,GAC5C,iCAAiC,GACjC,4CAA4C,GAC5C,8CAA8C,GAC9C,yCAAyC,GACzC,0CAA0C,GAC1C,kCAAkC,GAClC,mCAAmC,GACnC,0CAA0C,GAC1C,sCAAsC,GACtC,wCAAwC,GACxC,uCAAuC,GACvC,6CAA6C,GAC7C,8CAA8C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsController-method-action-types.js","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { PerpsController } from './PerpsController.js';\n\n/**\n * Read cached market data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists or when cache has expired.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 5-minute TTL check.\n * Used during initial render so disk-hydrated structural data (with\n * placeholder prices) is returned regardless of age.\n * @returns The cached market data array, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedMarketDataForActiveProviderAction = {\n type: `PerpsController:getCachedMarketDataForActiveProvider`;\n handler: PerpsController['getCachedMarketDataForActiveProvider'];\n};\n\n/**\n * Read cached user data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists, cache has expired, or address\n * does not match the currently selected EVM account.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 60s staleness check.\n * Used during initial render so disk-hydrated user data (positions/orders)\n * is returned regardless of age, avoiding a skeleton flash.\n * @returns The cached user data, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedUserDataForActiveProviderAction = {\n type: `PerpsController:getCachedUserDataForActiveProvider`;\n handler: PerpsController['getCachedUserDataForActiveProvider'];\n};\n\n/**\n * Fetch, validate, and atomically cache a complete user-data snapshot.\n * This remains callable after mount so consumers can seed their live channel\n * from one coherent positions/orders/account result.\n *\n * @returns The accepted user-data snapshot.\n */\nexport type PerpsControllerGetUserDataSnapshotAction = {\n type: `PerpsController:getUserDataSnapshot`;\n handler: PerpsController['getUserDataSnapshot'];\n};\n\n/**\n * Initialize the PerpsController providers\n * Must be called before using any other methods\n * Prevents double initialization with promise caching\n *\n * @returns A promise that resolves when the operation completes.\n */\nexport type PerpsControllerInitAction = {\n type: `PerpsController:init`;\n handler: PerpsController['init'];\n};\n\n/**\n * Get the currently active provider.\n * In aggregated mode, returns AggregatedPerpsProvider which routes to underlying providers.\n * In single provider mode, returns HyperLiquidProvider directly.\n *\n * @returns The active provider (aggregated wrapper or direct provider based on mode)\n * @throws Error if provider is not initialized or reinitializing\n */\nexport type PerpsControllerGetActiveProviderAction = {\n type: `PerpsController:getActiveProvider`;\n handler: PerpsController['getActiveProvider'];\n};\n\n/**\n * Get the currently active provider, returning null if not available\n * Use this method when the caller can gracefully handle a missing provider\n * (e.g., UI components during initialization or reconnection)\n *\n * @returns The active provider, or null if not initialized/reinitializing\n */\nexport type PerpsControllerGetActiveProviderOrNullAction = {\n type: `PerpsController:getActiveProviderOrNull`;\n handler: PerpsController['getActiveProviderOrNull'];\n};\n\n/**\n * Get strategy capabilities through the active provider route used by order\n * placement. The query waits for in-flight initialization and reports an\n * explicit unavailable status when no provider route can answer reliably.\n *\n * @param params - Market and optional provider route.\n * @returns Provider-owned order capabilities.\n */\nexport type PerpsControllerGetOrderCapabilitiesAction = {\n type: `PerpsController:getOrderCapabilities`;\n handler: PerpsController['getOrderCapabilities'];\n};\n\n/**\n * Get the margin mode the market is currently locked to by an open\n * position or resting order, through the active provider route used by\n * order placement. Never throws; failures report an unavailable status.\n *\n * @param params - Market and optional provider route.\n * @returns The provider-reported margin-mode lock.\n */\nexport type PerpsControllerGetMarginModeLockAction = {\n type: `PerpsController:getMarginModeLock`;\n handler: PerpsController['getMarginModeLock'];\n};\n\n/**\n * Build a Scale price ladder using the active provider's venue rules.\n *\n * @param params - Market, ladder bounds, count, and optional explicit route.\n * @returns Provider-normalized prices or a typed unavailable result.\n * @throws When the provider cannot normalize the requested ladder.\n */\nexport type PerpsControllerGetScalePriceLadderAction = {\n type: `PerpsController:getScalePriceLadder`;\n handler: PerpsController['getScalePriceLadder'];\n};\n\n/**\n * Place a new order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result with order ID and status.\n */\nexport type PerpsControllerPlaceOrderAction = {\n type: `PerpsController:placeOrder`;\n handler: PerpsController['placeOrder'];\n};\n\n/**\n * Edit an existing order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The updated order result with order ID and status.\n */\nexport type PerpsControllerEditOrderAction = {\n type: `PerpsController:editOrder`;\n handler: PerpsController['editOrder'];\n};\n\n/**\n * Cancel an existing order\n *\n * @param params - The operation parameters.\n * @returns The cancellation result with status.\n */\nexport type PerpsControllerCancelOrderAction = {\n type: `PerpsController:cancelOrder`;\n handler: PerpsController['cancelOrder'];\n};\n\n/**\n * Read venue-backed TWAP lifecycle records through the active provider.\n * Providers without native TWAP history return an empty list.\n *\n * @returns Current and terminal TWAP schedules with slice fills.\n */\nexport type PerpsControllerGetTwapOrdersAction = {\n type: `PerpsController:getTwapOrders`;\n handler: PerpsController['getTwapOrders'];\n};\n\n/**\n * Read the active provider's retained Chase lifecycle snapshots.\n * Providers without an emulated Chase implementation return an empty list.\n *\n * @returns Current Chase session snapshots.\n */\nexport type PerpsControllerGetChaseOrdersAction = {\n type: `PerpsController:getChaseOrders`;\n handler: PerpsController['getChaseOrders'];\n};\n\n/**\n * Stop Chase repricing for app backgrounding without cancelling the current\n * resting children.\n *\n * @returns Chase snapshots after suspension.\n * @throws If an aggregated provider cannot suspend every active venue. Other\n * providers may already be suspended; callers can retry to reconcile them.\n */\nexport type PerpsControllerSuspendChaseOrdersAction = {\n type: `PerpsController:suspendChaseOrders`;\n handler: PerpsController['suspendChaseOrders'];\n};\n\n/**\n * Cancel multiple orders in parallel\n * Batch version of cancelOrder() that cancels multiple orders simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch cancellation results for each order.\n */\nexport type PerpsControllerCancelOrdersAction = {\n type: `PerpsController:cancelOrders`;\n handler: PerpsController['cancelOrders'];\n};\n\n/**\n * Close a position (partial or full)\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result from the close position request.\n */\nexport type PerpsControllerClosePositionAction = {\n type: `PerpsController:closePosition`;\n handler: PerpsController['closePosition'];\n};\n\n/**\n * Close multiple positions in parallel\n * Batch version of closePosition() that closes multiple positions simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch close results for each position.\n */\nexport type PerpsControllerClosePositionsAction = {\n type: `PerpsController:closePositions`;\n handler: PerpsController['closePositions'];\n};\n\n/**\n * Update TP/SL for an existing position\n *\n * @param params - The operation parameters.\n * @returns The order result from the TP/SL update.\n */\nexport type PerpsControllerUpdatePositionTPSLAction = {\n type: `PerpsController:updatePositionTPSL`;\n handler: PerpsController['updatePositionTPSL'];\n};\n\n/**\n * Update margin for an existing position (add or remove)\n *\n * @param params - The operation parameters.\n * @returns The margin update result.\n */\nexport type PerpsControllerUpdateMarginAction = {\n type: `PerpsController:updateMargin`;\n handler: PerpsController['updateMargin'];\n};\n\n/**\n * Flip position (reverse direction while keeping size and leverage)\n *\n * @param params - The operation parameters.\n * @returns The order result from the position flip.\n */\nexport type PerpsControllerFlipPositionAction = {\n type: `PerpsController:flipPosition`;\n handler: PerpsController['flipPosition'];\n};\n\n/**\n * Simplified deposit method that prepares transaction for confirmation screen\n * No complex state tracking - just sets a loading flag\n *\n * @param params - Parameters for the deposit flow\n * @param params.amount - Optional deposit amount\n * @param params.placeOrder - If true, uses addTransaction instead of submit to avoid navigation\n * @returns An object containing a promise that resolves to the transaction hash.\n */\nexport type PerpsControllerDepositWithConfirmationAction = {\n type: `PerpsController:depositWithConfirmation`;\n handler: PerpsController['depositWithConfirmation'];\n};\n\n/**\n * Same as depositWithConfirmation - prepares transaction for confirmation screen.\n *\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerDepositWithOrderAction = {\n type: `PerpsController:depositWithOrder`;\n handler: PerpsController['depositWithOrder'];\n};\n\n/**\n * Clear the last deposit result after it has been shown to the user\n */\nexport type PerpsControllerClearDepositResultAction = {\n type: `PerpsController:clearDepositResult`;\n handler: PerpsController['clearDepositResult'];\n};\n\nexport type PerpsControllerClearWithdrawResultAction = {\n type: `PerpsController:clearWithdrawResult`;\n handler: PerpsController['clearWithdrawResult'];\n};\n\n/**\n * Update withdrawal request status when it completes, or remove it on failure.\n * This is called when a withdrawal is matched with a completed withdrawal from the API.\n * When status is `failed`, the request is removed from the queue (not retained).\n *\n * @param withdrawalId - The withdrawal transaction ID.\n * @param status - The current status.\n * @param txHash - The transaction hash.\n */\nexport type PerpsControllerUpdateWithdrawalStatusAction = {\n type: `PerpsController:updateWithdrawalStatus`;\n handler: PerpsController['updateWithdrawalStatus'];\n};\n\n/**\n * Complete a specific withdrawal detected via transaction history polling (FIFO queue).\n * Called when a completed withdrawal appears in the transaction history matching a pending request.\n *\n * Uses FIFO matching: oldest pending withdrawal is matched with first completed withdrawal\n * in history that happened after its submission time.\n *\n * @param withdrawalRequestId - The ID of the pending withdrawal request to mark as complete.\n * @param completedWithdrawal - The completed withdrawal data from the history API.\n * @param completedWithdrawal.txHash - The on-chain transaction hash.\n * @param completedWithdrawal.amount - The withdrawal amount.\n * @param completedWithdrawal.timestamp - The completion timestamp from the history API.\n * @param completedWithdrawal.asset - The asset symbol (e.g. USDC).\n */\nexport type PerpsControllerCompleteWithdrawalFromHistoryAction = {\n type: `PerpsController:completeWithdrawalFromHistory`;\n handler: PerpsController['completeWithdrawalFromHistory'];\n};\n\n/**\n * Update withdrawal progress (persistent across navigation)\n *\n * @param progress - The progress indicator.\n * @param activeWithdrawalId - The active withdrawal ID.\n */\nexport type PerpsControllerUpdateWithdrawalProgressAction = {\n type: `PerpsController:updateWithdrawalProgress`;\n handler: PerpsController['updateWithdrawalProgress'];\n};\n\n/**\n * Get current withdrawal progress\n *\n * @returns The withdrawal progress, last update timestamp, and active withdrawal ID.\n */\nexport type PerpsControllerGetWithdrawalProgressAction = {\n type: `PerpsController:getWithdrawalProgress`;\n handler: PerpsController['getWithdrawalProgress'];\n};\n\n/**\n * Withdraw funds from trading account\n *\n * The withdrawal process varies by provider and may involve:\n * - Direct on-chain transfers\n * - Bridge operations\n * - Multi-step validation processes\n *\n * Check the specific provider documentation for detailed withdrawal flows.\n *\n * @param params Withdrawal parameters\n * @returns WithdrawResult with withdrawal ID and tracking info\n */\nexport type PerpsControllerWithdrawAction = {\n type: `PerpsController:withdraw`;\n handler: PerpsController['withdraw'];\n};\n\n/**\n * Get current positions\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow position queries\n * without full perps initialization (e.g., for showing positions on token details page)\n *\n * @param params - The operation parameters.\n * @returns Array of open positions for the active provider.\n */\nexport type PerpsControllerGetPositionsAction = {\n type: `PerpsController:getPositions`;\n handler: PerpsController['getPositions'];\n};\n\n/**\n * Get historical user fills (trade executions)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical trade executions (fills).\n */\nexport type PerpsControllerGetOrderFillsAction = {\n type: `PerpsController:getOrderFills`;\n handler: PerpsController['getOrderFills'];\n};\n\n/**\n * List TP/SL protection changes the active provider parked for\n * explicit manual re-establishment. Providers without durable\n * settlement state return an empty list.\n *\n * @returns Pending manual-recovery entries.\n */\nexport type PerpsControllerGetPendingManualRecoveriesAction = {\n type: `PerpsController:getPendingManualRecoveries`;\n handler: PerpsController['getPendingManualRecoveries'];\n};\n\n/**\n * READ-ONLY list of the active provider's recovered-dispatch outcomes\n * (previously ambiguous submissions later resolved). Providers without\n * durable dispatch state return an empty list.\n *\n * @returns Pending recovered-dispatch outcomes.\n */\nexport type PerpsControllerGetRecoveredDispatchesAction = {\n type: `PerpsController:getRecoveredDispatches`;\n handler: PerpsController['getRecoveredDispatches'];\n};\n\n/**\n * Acknowledge ONE recovered-dispatch outcome by its stable id, after\n * refreshing venue state. Throws when the active provider has no\n * durable dispatch state or the id no longer matches.\n *\n * @param recoveryId - Stable id from {@link getRecoveredDispatches}.\n * @returns Resolves when the outcome is acknowledged.\n */\nexport type PerpsControllerAcknowledgeRecoveredDispatchAction = {\n type: `PerpsController:acknowledgeRecoveredDispatch`;\n handler: PerpsController['acknowledgeRecoveredDispatch'];\n};\n\n/**\n * Get historical user orders (order lifecycle)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical orders.\n */\nexport type PerpsControllerGetOrdersAction = {\n type: `PerpsController:getOrders`;\n handler: PerpsController['getOrders'];\n};\n\n/**\n * Get currently open orders (real-time status)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow open order queries\n * without full perps initialization (e.g., for background preloading)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetOpenOrdersAction = {\n type: `PerpsController:getOpenOrders`;\n handler: PerpsController['getOpenOrders'];\n};\n\n/**\n * Get historical user funding history (funding payments)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical funding payments.\n */\nexport type PerpsControllerGetFundingAction = {\n type: `PerpsController:getFunding`;\n handler: PerpsController['getFunding'];\n};\n\n/**\n * Get account state (balances, etc.)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow account state queries\n * without full perps initialization (e.g., for checking if user has perps funds)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetAccountStateAction = {\n type: `PerpsController:getAccountState`;\n handler: PerpsController['getAccountState'];\n};\n\n/**\n * Get historical portfolio data\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @returns The historical portfolio data points.\n */\nexport type PerpsControllerGetHistoricalPortfolioAction = {\n type: `PerpsController:getHistoricalPortfolio`;\n handler: PerpsController['getHistoricalPortfolio'];\n};\n\n/**\n * Get available markets with optional filtering\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow market discovery\n * without full perps initialization (e.g., for discovery banners on spot screens)\n *\n * @param params - The operation parameters.\n * @returns Array of available markets matching the filter criteria.\n */\nexport type PerpsControllerGetMarketsAction = {\n type: `PerpsController:getMarkets`;\n handler: PerpsController['getMarkets'];\n};\n\n/**\n * Get market data with prices (includes price, volume, 24h change).\n * Optionally filter by category, sort, and limit the results.\n *\n * For standalone mode, bypasses getActiveProvider() to allow market data queries\n * without full perps initialization (e.g., for background preloading on app start)\n *\n * @param params - The operation parameters.\n * @param params.standalone - Whether to use standalone mode.\n * @param params.categories - Filter to markets matching any of these categories.\n * @param params.sortBy - Sort results by this field.\n * @param params.direction - Sort direction (default: desc).\n * @param params.limit - Maximum number of results to return.\n * @returns A promise that resolves to the market data.\n */\nexport type PerpsControllerGetMarketDataWithPricesAction = {\n type: `PerpsController:getMarketDataWithPrices`;\n handler: PerpsController['getMarketDataWithPrices'];\n};\n\n/**\n * Start background market data preloading.\n * Fetches market data immediately and refreshes every 5 minutes.\n * Watches for isTestnet and hip3ConfigVersion changes to re-preload.\n */\nexport type PerpsControllerStartMarketDataPreloadAction = {\n type: `PerpsController:startMarketDataPreload`;\n handler: PerpsController['startMarketDataPreload'];\n};\n\n/**\n * Stop background market data preloading.\n */\nexport type PerpsControllerStopMarketDataPreloadAction = {\n type: `PerpsController:stopMarketDataPreload`;\n handler: PerpsController['stopMarketDataPreload'];\n};\n\n/**\n * Get list of available HIP-3 builder-deployed DEXs\n *\n * @param params - Optional parameters for filtering\n * @returns Array of DEX names\n */\nexport type PerpsControllerGetAvailableDexsAction = {\n type: `PerpsController:getAvailableDexs`;\n handler: PerpsController['getAvailableDexs'];\n};\n\n/**\n * Fetch historical candle data\n * Thin delegation to MarketDataService\n *\n * @param options - The configuration options.\n * @param options.symbol - The trading pair symbol.\n * @param options.interval - The candle interval period.\n * @param options.limit - Maximum number of items to fetch.\n * @param options.endTime - End timestamp in milliseconds.\n * @returns The historical candle data for the requested symbol and interval.\n */\nexport type PerpsControllerFetchHistoricalCandlesAction = {\n type: `PerpsController:fetchHistoricalCandles`;\n handler: PerpsController['fetchHistoricalCandles'];\n};\n\n/**\n * Calculate liquidation price for a position\n * Uses provider-specific formulas based on protocol rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerCalculateLiquidationPriceAction = {\n type: `PerpsController:calculateLiquidationPrice`;\n handler: PerpsController['calculateLiquidationPrice'];\n};\n\n/**\n * Project the isolated position that would remain after a proposed order.\n * Margin and liquidation availability are independent: a missing liquidation\n * does not hide a valid margin projection. Cross-margin returns unsupported.\n *\n * @param params - Live position plus the proposed order.\n * @returns Discriminated preview of the resulting position.\n */\nexport type PerpsControllerPreviewPositionModifyAction = {\n type: `PerpsController:previewPositionModify`;\n handler: PerpsController['previewPositionModify'];\n};\n\n/**\n * Calculate maintenance margin for a specific asset\n * Returns a percentage (e.g., 0.0125 for 1.25%)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerCalculateMaintenanceMarginAction = {\n type: `PerpsController:calculateMaintenanceMargin`;\n handler: PerpsController['calculateMaintenanceMargin'];\n};\n\n/**\n * Get maximum leverage allowed for an asset\n *\n * @param asset - The asset identifier.\n * @param providerId - Optional provider route for aggregated markets.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerGetMaxLeverageAction = {\n type: `PerpsController:getMaxLeverage`;\n handler: PerpsController['getMaxLeverage'];\n};\n\n/**\n * Validate order parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateOrderAction = {\n type: `PerpsController:validateOrder`;\n handler: PerpsController['validateOrder'];\n};\n\n/**\n * Validate close position parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerValidateClosePositionAction = {\n type: `PerpsController:validateClosePosition`;\n handler: PerpsController['validateClosePosition'];\n};\n\n/**\n * Validate withdrawal parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateWithdrawalAction = {\n type: `PerpsController:validateWithdrawal`;\n handler: PerpsController['validateWithdrawal'];\n};\n\n/**\n * Get supported withdrawal routes - returns complete asset and routing information\n *\n * @returns Array of supported asset routes for withdrawals.\n */\nexport type PerpsControllerGetWithdrawalRoutesAction = {\n type: `PerpsController:getWithdrawalRoutes`;\n handler: PerpsController['getWithdrawalRoutes'];\n};\n\n/**\n * Set the transient UTM / discovery attribution context.\n * Replaces any previously set context. Held in-memory only — not persisted.\n *\n * @param context - The attribution context (UTM fields) to store.\n */\nexport type PerpsControllerSetAttributionContextAction = {\n type: `PerpsController:setAttributionContext`;\n handler: PerpsController['setAttributionContext'];\n};\n\n/**\n * Get a copy of the current attribution context.\n *\n * @returns A shallow copy of the stored attribution context.\n */\nexport type PerpsControllerGetAttributionContextAction = {\n type: `PerpsController:getAttributionContext`;\n handler: PerpsController['getAttributionContext'];\n};\n\n/**\n * Clear the stored attribution context.\n */\nexport type PerpsControllerClearAttributionContextAction = {\n type: `PerpsController:clearAttributionContext`;\n handler: PerpsController['clearAttributionContext'];\n};\n\n/**\n * Toggle between testnet and mainnet\n *\n * @returns The toggle result with success status and current network mode.\n */\nexport type PerpsControllerToggleTestnetAction = {\n type: `PerpsController:toggleTestnet`;\n handler: PerpsController['toggleTestnet'];\n};\n\n/**\n * Switch to a different provider\n * Uses a full reinit approach: disconnect() → update state → init()\n * This ensures complete state reset including WebSocket connections and caches.\n *\n * @param providerId - The provider identifier.\n * @returns The switch result with success status and active provider.\n */\nexport type PerpsControllerSwitchProviderAction = {\n type: `PerpsController:switchProvider`;\n handler: PerpsController['switchProvider'];\n};\n\n/**\n * Get current network (mainnet/testnet)\n *\n * @returns Either 'mainnet' or 'testnet' based on the current configuration.\n */\nexport type PerpsControllerGetCurrentNetworkAction = {\n type: `PerpsController:getCurrentNetwork`;\n handler: PerpsController['getCurrentNetwork'];\n};\n\n/**\n * Get the ordered list of all market categories for HIP-3 markets.\n * Returns a stable, explicitly ordered array so the UI can render\n * category filter tabs without deriving order from config insertion.\n *\n * @returns Ordered array of {@link MarketTypeFilter} values. Does not include the 'all' or 'new' sentinels — those are separate UI controls.\n */\nexport type PerpsControllerGetMarketCategoriesAction = {\n type: `PerpsController:getMarketCategories`;\n handler: PerpsController['getMarketCategories'];\n};\n\n/**\n * Get the current WebSocket connection state from the active provider.\n * Used by the UI to monitor connection health and show notifications.\n *\n * @returns The current WebSocket connection state, or DISCONNECTED if not supported\n */\nexport type PerpsControllerGetWebSocketConnectionStateAction = {\n type: `PerpsController:getWebSocketConnectionState`;\n handler: PerpsController['getWebSocketConnectionState'];\n};\n\n/**\n * Subscribe to WebSocket connection state changes from the active provider.\n * The listener will be called immediately with the current state and whenever the state changes.\n *\n * @param listener - Callback function that receives the new connection state and reconnection attempt\n * @returns Unsubscribe function to remove the listener, or no-op if not supported\n */\nexport type PerpsControllerSubscribeToConnectionStateAction = {\n type: `PerpsController:subscribeToConnectionState`;\n handler: PerpsController['subscribeToConnectionState'];\n};\n\n/**\n * Manually trigger a WebSocket reconnection attempt.\n * Used by the UI retry button when connection is lost.\n */\nexport type PerpsControllerReconnectAction = {\n type: `PerpsController:reconnect`;\n handler: PerpsController['reconnect'];\n};\n\n/**\n * Subscribe to live price updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPricesAction = {\n type: `PerpsController:subscribeToPrices`;\n handler: PerpsController['subscribeToPrices'];\n};\n\n/**\n * Subscribe to live position updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPositionsAction = {\n type: `PerpsController:subscribeToPositions`;\n handler: PerpsController['subscribeToPositions'];\n};\n\n/**\n * Subscribe to live order fill updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderFillsAction = {\n type: `PerpsController:subscribeToOrderFills`;\n handler: PerpsController['subscribeToOrderFills'];\n};\n\n/**\n * Stream TWAP lifecycle updates through the active provider.\n *\n * Providers without a native TWAP push channel do not implement this; the\n * returned no-op cleanup lets a client fall back to polling `getTwapOrders`\n * without branching on provider identity.\n *\n * @param params - Subscription parameters including callback and account ID.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToTwapOrdersAction = {\n type: `PerpsController:subscribeToTwapOrders`;\n handler: PerpsController['subscribeToTwapOrders'];\n};\n\n/**\n * Subscribe to live order updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrdersAction = {\n type: `PerpsController:subscribeToOrders`;\n handler: PerpsController['subscribeToOrders'];\n};\n\n/**\n * Subscribe to live account updates.\n * Updates controller state (Redux) when new account data arrives so consumers\n * like usePerpsBalanceTokenFilter (PayWithModal) see the latest balance.\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToAccountAction = {\n type: `PerpsController:subscribeToAccount`;\n handler: PerpsController['subscribeToAccount'];\n};\n\n/**\n * Subscribe to full order book updates with multiple depth levels\n * Creates a dedicated L2Book subscription for real-time order book data\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderBookAction = {\n type: `PerpsController:subscribeToOrderBook`;\n handler: PerpsController['subscribeToOrderBook'];\n};\n\n/**\n * Subscribe to live candle updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToCandlesAction = {\n type: `PerpsController:subscribeToCandles`;\n handler: PerpsController['subscribeToCandles'];\n};\n\n/**\n * Subscribe to open interest cap updates\n * Zero additional network overhead - data comes from existing webData3 subscription\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOICapsAction = {\n type: `PerpsController:subscribeToOICaps`;\n handler: PerpsController['subscribeToOICaps'];\n};\n\n/**\n * Configure live data throttling\n *\n * @param config - The configuration object.\n */\nexport type PerpsControllerSetLiveDataConfigAction = {\n type: `PerpsController:setLiveDataConfig`;\n handler: PerpsController['setLiveDataConfig'];\n};\n\n/**\n * Calculate trading fees through the active provider route.\n * Each provider owns its fee policy. An explicit provider route overrides\n * the active/default provider used by placement.\n *\n * @param params - The operation parameters.\n * @returns The fee calculation result for the trade.\n */\nexport type PerpsControllerCalculateFeesAction = {\n type: `PerpsController:calculateFees`;\n handler: PerpsController['calculateFees'];\n};\n\n/**\n * Sign HyperLiquid L1 actions (orders, cancels, leverage, ...) for a main\n * account on a network with an approved agent, or pin them to the main\n * account with null (`getAgentSigner` is then not asked for that account and\n * network until `clearAgentSigners`). User-signed actions stay on the main\n * account, and the agent is never used for another account or network. The\n * controller keeps the binding across provider re-creation (a provider or\n * network switch, or re-initialization), so it can also be set before\n * `init`. Like every controller action, it is available through the\n * messenger once `init` has run.\n *\n * @param account - The main account and network the agent is approved for.\n * @param agentSigner - The host-owned agent signer, or null to pin the main\n * account.\n */\nexport type PerpsControllerSetAgentSignerAction = {\n type: `PerpsController:setAgentSigner`;\n handler: PerpsController['setAgentSigner'];\n};\n\n/**\n * Forget every HyperLiquid agent, set or resolved, so the next L1 action\n * asks `providerCredentials.hyperliquid.getAgentSigner` again; an answer\n * still pending is discarded too. Call it when the wallet locks (with\n * `getAgentSigner` returning null while locked) and nothing signs with an\n * agent until it returns one again. Like every controller action, it is\n * available through the messenger once `init` has run.\n */\nexport type PerpsControllerClearAgentSignersAction = {\n type: `PerpsController:clearAgentSigners`;\n handler: PerpsController['clearAgentSigners'];\n};\n\n/**\n * Run the active provider's deferred trading setup ahead of the first order\n * (HyperLiquid account migration, builder fee and referral; Lighter\n * venue-key registration), so its signatures happen in one guided session,\n * such as agent setup, instead of at order time. The builder fee and\n * Lighter's registration are signed by the main account; with an agent,\n * the referral and the account migration are L1 actions the agent signs.\n *\n * @returns `ready: true` when none of these steps will need a signature\n * again before the first order, and only while an account is selected and\n * the main account can sign, whichever provider answered (including\n * providers without deferred setup, for example in aggregated mode). A\n * HyperLiquid referral whose MetaMask referral code is not ready yet is\n * checked again at the next call, not before orders, so it does not hold\n * it back. Otherwise `ready: false`, without an error while a step will\n * be asked again (a declined HyperLiquid migration, builder fee or Lighter\n * registration, or a step the agent could not sign), or with:\n * - `KEYRING_LOCKED` when the main account cannot sign, before or during\n * setup;\n * - `EXCHANGE_ACCOUNT_NOT_FOUND` for a wallet with no account on the venue\n * yet;\n * - `NO_ACCOUNT_SELECTED` when no account is selected;\n * - `PROVIDER_LIFECYCLE_STALE` when the provider disconnected or the account\n * changed during setup;\n * - otherwise the message of the error that stopped setup, which is logged.\n * @throws Like the other provider-backed actions, `CLIENT_NOT_INITIALIZED`\n * before `init`, and `CLIENT_REINITIALIZING` or `PROVIDER_NOT_AVAILABLE`\n * when no active provider is available.\n */\nexport type PerpsControllerPrepareTradingWalletAction = {\n type: `PerpsController:prepareTradingWallet`;\n handler: PerpsController['prepareTradingWallet'];\n};\n\n/**\n * Approve the dedicated subscription builder outside order submission.\n *\n * @deprecated ADR 0064 replaced the dedicated subscription builder with cloid\n * marking on the standard builder, so there is nothing left to approve. Kept\n * as a no-op so clients still calling it keep building while they migrate;\n * remove it once cloid marking is verified in shadow mode.\n *\n * Resolves `true`, not `false`. The method answers \"is the subscription\n * builder ready?\", and the honest answer is now \"nothing needs approving\" —\n * a `false` would read as a setup failure to a caller that branches on it and\n * could block a waiver that is already fully in effect.\n * @returns Always `true`; no approval is required.\n */\nexport type PerpsControllerApproveSubscriptionBuilderFeeAction = {\n type: `PerpsController:approveSubscriptionBuilderFee`;\n handler: PerpsController['approveSubscriptionBuilderFee'];\n};\n\n/**\n * Drop the cached subscription benefits snapshot.\n *\n * Call this when the identity behind the benefits changes — sign-out, or a\n * profile switch. The snapshot carries no profile identity of its own, so\n * without this it keeps answering for the previous profile until the next\n * successful refresh. The next fee resolution reports the waiver as\n * unavailable, so it is withheld until preview or lifecycle hydration.\n */\nexport type PerpsControllerInvalidateSubscriptionBenefitsAction = {\n type: `PerpsController:invalidateSubscriptionBenefits`;\n handler: PerpsController['invalidateSubscriptionBenefits'];\n};\n\n/**\n * Disconnect provider and cleanup subscriptions\n * Call this when navigating away from Perps screens to prevent battery drain\n */\nexport type PerpsControllerDisconnectAction = {\n type: `PerpsController:disconnect`;\n handler: PerpsController['disconnect'];\n};\n\n/**\n * Resume eligibility monitoring after onboarding completes.\n * Clears the deferred flag and triggers an immediate eligibility check\n * using the current remote feature flag state.\n */\nexport type PerpsControllerStartEligibilityMonitoringAction = {\n type: `PerpsController:startEligibilityMonitoring`;\n handler: PerpsController['startEligibilityMonitoring'];\n};\n\n/**\n * Stops geo-blocking eligibility monitoring.\n * Call this when the user disables basic functionality (e.g. useExternalServices becomes false).\n * Prevents geolocation calls until startEligibilityMonitoring() is called again.\n * Safe to call multiple times.\n */\nexport type PerpsControllerStopEligibilityMonitoringAction = {\n type: `PerpsController:stopEligibilityMonitoring`;\n handler: PerpsController['stopEligibilityMonitoring'];\n};\n\nexport type PerpsControllerRefreshEligibilityAction = {\n type: `PerpsController:refreshEligibility`;\n handler: PerpsController['refreshEligibility'];\n};\n\n/**\n * Get block explorer URL for an address or just the base URL\n *\n * @param address - Optional address to append to the base URL\n * @returns Block explorer URL\n */\nexport type PerpsControllerGetBlockExplorerUrlAction = {\n type: `PerpsController:getBlockExplorerUrl`;\n handler: PerpsController['getBlockExplorerUrl'];\n};\n\n/**\n * Check if user is first-time for the current network\n *\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsFirstTimeUserOnCurrentNetworkAction = {\n type: `PerpsController:isFirstTimeUserOnCurrentNetwork`;\n handler: PerpsController['isFirstTimeUserOnCurrentNetwork'];\n};\n\n/**\n * Mark that the user has completed the tutorial/onboarding\n * This prevents the tutorial from showing again\n */\nexport type PerpsControllerMarkTutorialCompletedAction = {\n type: `PerpsController:markTutorialCompleted`;\n handler: PerpsController['markTutorialCompleted'];\n};\n\nexport type PerpsControllerMarkFirstOrderCompletedAction = {\n type: `PerpsController:markFirstOrderCompleted`;\n handler: PerpsController['markFirstOrderCompleted'];\n};\n\n/**\n * Reset first-time user state for both networks\n * This is useful for testing the tutorial flow\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerResetFirstTimeUserStateAction = {\n type: `PerpsController:resetFirstTimeUserState`;\n handler: PerpsController['resetFirstTimeUserState'];\n};\n\n/**\n * Clear pending/bridging withdrawal and deposit requests\n * This is useful when users want to clear stuck pending indicators\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerClearPendingTransactionRequestsAction = {\n type: `PerpsController:clearPendingTransactionRequests`;\n handler: PerpsController['clearPendingTransactionRequests'];\n};\n\n/**\n * Get saved trade configuration for a market\n *\n * @param symbol - The trading pair symbol.\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetTradeConfigurationAction = {\n type: `PerpsController:getTradeConfiguration`;\n handler: PerpsController['getTradeConfiguration'];\n};\n\n/**\n * Save trade configuration for a market\n *\n * @param symbol - Market symbol\n * @param leverage - Leverage value\n */\nexport type PerpsControllerSaveTradeConfigurationAction = {\n type: `PerpsController:saveTradeConfiguration`;\n handler: PerpsController['saveTradeConfiguration'];\n};\n\n/**\n * Save pending trade configuration for a market\n * This is a temporary configuration that expires after 30 seconds.\n *\n * @param symbol - Market symbol\n * @param config - Pending trade configuration (includes optional selected payment token from Pay row)\n * @param config.amount - The amount value.\n * @param config.leverage - The leverage multiplier.\n * @param config.takeProfitPrice - The take profit price.\n * @param config.stopLossPrice - The stop loss price.\n * @param config.limitPrice - The limit price.\n * @param config.orderType - The order type.\n * @param config.reduceOnly - Whether the order may only reduce a position.\n * @param config.direction - Long or short.\n * @param config.selectedPaymentToken - The selected payment token.\n */\nexport type PerpsControllerSavePendingTradeConfigurationAction = {\n type: `PerpsController:savePendingTradeConfiguration`;\n handler: PerpsController['savePendingTradeConfiguration'];\n};\n\n/**\n * Get pending trade configuration for a market\n * Returns undefined if config doesn't exist or has expired.\n *\n * @param symbol - Market symbol\n * @returns Pending trade configuration or undefined\n */\nexport type PerpsControllerGetPendingTradeConfigurationAction = {\n type: `PerpsController:getPendingTradeConfiguration`;\n handler: PerpsController['getPendingTradeConfiguration'];\n};\n\n/**\n * Clear pending trade configuration for a market\n *\n * @param symbol - Market symbol\n */\nexport type PerpsControllerClearPendingTradeConfigurationAction = {\n type: `PerpsController:clearPendingTradeConfiguration`;\n handler: PerpsController['clearPendingTradeConfiguration'];\n};\n\n/**\n * Get saved market filter preferences\n * Handles backward compatibility with legacy string format\n *\n * @returns The saved sort option ID and direction.\n */\nexport type PerpsControllerGetMarketFilterPreferencesAction = {\n type: `PerpsController:getMarketFilterPreferences`;\n handler: PerpsController['getMarketFilterPreferences'];\n};\n\n/**\n * Save market filter preferences\n *\n * @param optionId - Sort/filter option ID\n * @param direction - Sort direction ('asc' or 'desc')\n */\nexport type PerpsControllerSaveMarketFilterPreferencesAction = {\n type: `PerpsController:saveMarketFilterPreferences`;\n handler: PerpsController['saveMarketFilterPreferences'];\n};\n\n/**\n * Get the user's max slippage tolerance in basis points.\n *\n * @returns The configured max slippage bps, or undefined if never set (callers should default to 300 bps / 3%).\n */\nexport type PerpsControllerGetMaxSlippageAction = {\n type: `PerpsController:getMaxSlippage`;\n handler: PerpsController['getMaxSlippage'];\n};\n\n/**\n * Set the user's max slippage tolerance in basis points.\n *\n * @param bps - Max slippage in basis points (e.g. 300 = 3%). Clamped to 10–1000, snapped to step of 10.\n */\nexport type PerpsControllerSetMaxSlippageAction = {\n type: `PerpsController:setMaxSlippage`;\n handler: PerpsController['setMaxSlippage'];\n};\n\n/**\n * Get market-agnostic Pro order-book display preferences.\n *\n * @returns The current order-book display preferences.\n */\nexport type PerpsControllerGetOrderBookPreferencesAction = {\n type: `PerpsController:getOrderBookPreferences`;\n handler: PerpsController['getOrderBookPreferences'];\n};\n\n/**\n * Update market-agnostic Pro order-book display preferences.\n *\n * @param patch - Partial order-book preferences to update.\n */\nexport type PerpsControllerSetOrderBookPreferencesAction = {\n type: `PerpsController:setOrderBookPreferences`;\n handler: PerpsController['setOrderBookPreferences'];\n};\n\n/**\n * Get the selected order type shared by every market.\n *\n * @returns The selected order type.\n */\nexport type PerpsControllerGetSelectedOrderTypeAction = {\n type: `PerpsController:getSelectedOrderType`;\n handler: PerpsController['getSelectedOrderType'];\n};\n\n/**\n * Set the selected order type shared by every market.\n *\n * @param orderType - The selected order type.\n */\nexport type PerpsControllerSetSelectedOrderTypeAction = {\n type: `PerpsController:setSelectedOrderType`;\n handler: PerpsController['setSelectedOrderType'];\n};\n\n/**\n * Get the number of candles shown in Lite and Pro chart viewports.\n *\n * @returns The visible candle count.\n */\nexport type PerpsControllerGetVisibleCandleCountAction = {\n type: `PerpsController:getVisibleCandleCount`;\n handler: PerpsController['getVisibleCandleCount'];\n};\n\n/**\n * Set the number of candles shown in Lite and Pro chart viewports.\n *\n * @param count - Requested visible candle count.\n */\nexport type PerpsControllerSetVisibleCandleCountAction = {\n type: `PerpsController:setVisibleCandleCount`;\n handler: PerpsController['setVisibleCandleCount'];\n};\n\n/**\n * Get the user's pro-mode layout preferences (network-independent).\n *\n * @returns The current pro-mode layout preferences.\n */\nexport type PerpsControllerGetProLayoutPreferencesAction = {\n type: `PerpsController:getProLayoutPreferences`;\n handler: PerpsController['getProLayoutPreferences'];\n};\n\n/**\n * Update the user's pro-mode layout preferences.\n *\n * Patch-style setter: only the provided fields are updated, the rest are\n * preserved. This keeps the signature stable as new layout fields are added.\n *\n * @param patch - Partial set of pro-mode layout preferences to update.\n */\nexport type PerpsControllerSetProLayoutPreferencesAction = {\n type: `PerpsController:setProLayoutPreferences`;\n handler: PerpsController['setProLayoutPreferences'];\n};\n\n/**\n * Set the Perps interface mode (lite/pro).\n *\n * @param mode - The mode to switch to.\n */\nexport type PerpsControllerSetPerpsModeAction = {\n type: `PerpsController:setPerpsMode`;\n handler: PerpsController['setPerpsMode'];\n};\n\n/**\n * Set the selected payment token for the Perps order/deposit flow.\n * Pass null or a token with description PERPS_CONSTANTS.PerpsBalanceTokenDescription to select Perps balance.\n * Only required fields (address, chainId) are stored in state; description and symbol are optional.\n *\n * @param token - The token identifier.\n */\nexport type PerpsControllerSetSelectedPaymentTokenAction = {\n type: `PerpsController:setSelectedPaymentToken`;\n handler: PerpsController['setSelectedPaymentToken'];\n};\n\n/**\n * Reset the selected payment token to Perps balance (null).\n * Call when leaving the Perps order view so the next visit defaults to Perps balance.\n */\nexport type PerpsControllerResetSelectedPaymentTokenAction = {\n type: `PerpsController:resetSelectedPaymentToken`;\n handler: PerpsController['resetSelectedPaymentToken'];\n};\n\n/**\n * Get saved order book grouping for a market\n *\n * @param symbol - Market symbol\n * @returns The saved grouping value or undefined if not set\n */\nexport type PerpsControllerGetOrderBookGroupingAction = {\n type: `PerpsController:getOrderBookGrouping`;\n handler: PerpsController['getOrderBookGrouping'];\n};\n\n/**\n * Save order book grouping for a market\n *\n * @param symbol - Market symbol\n * @param grouping - Price grouping value\n */\nexport type PerpsControllerSaveOrderBookGroupingAction = {\n type: `PerpsController:saveOrderBookGrouping`;\n handler: PerpsController['saveOrderBookGrouping'];\n};\n\n/**\n * Get the saved margin mode (Isolated/Cross) for a market on the current\n * network. Clients should still let a venue-enforced mode take priority.\n *\n * @param symbol - Market symbol\n * @returns The saved margin mode or undefined if not set\n */\nexport type PerpsControllerGetMarginModeAction = {\n type: `PerpsController:getMarginMode`;\n handler: PerpsController['getMarginMode'];\n};\n\n/**\n * Save the margin mode (Isolated/Cross) picked for a market on the current\n * network. Values other than `isolated` or `cross` are ignored.\n *\n * @param symbol - Market symbol\n * @param marginMode - Margin mode to persist\n */\nexport type PerpsControllerSaveMarginModeAction = {\n type: `PerpsController:saveMarginMode`;\n handler: PerpsController['saveMarginMode'];\n};\n\n/**\n * Toggle watchlist status for a market.\n *\n * Updates local state immediately (optimistic UI) and then syncs the new\n * watchlist to AuthenticatedUserStorageService. If the remote write fails,\n * the local state is reverted so it stays consistent with AUS.\n *\n * When the user is unauthenticated, or the active provider is not yet\n * supported by the AUS schema, the controller continues operating with\n * local-persisted state only — no error is surfaced to the caller.\n *\n * Watchlist markets are stored per network (testnet/mainnet).\n *\n * @param symbol - The trading pair symbol.\n */\nexport type PerpsControllerToggleWatchlistMarketAction = {\n type: `PerpsController:toggleWatchlistMarket`;\n handler: PerpsController['toggleWatchlistMarket'];\n};\n\n/**\n * Check if a market is in the watchlist on the current network\n *\n * @param symbol - The trading pair symbol.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsWatchlistMarketAction = {\n type: `PerpsController:isWatchlistMarket`;\n handler: PerpsController['isWatchlistMarket'];\n};\n\n/**\n * Get all watchlist markets for the current network\n *\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetWatchlistMarketsAction = {\n type: `PerpsController:getWatchlistMarkets`;\n handler: PerpsController['getWatchlistMarkets'];\n};\n\n/**\n * Record that the user viewed a market.\n *\n * The symbol is prepended to the per-network recently-viewed list (newest-first).\n * Any existing entry for the same symbol is removed first so there are no\n * duplicates. The list is then capped at PERPS_CONSTANTS.RecentlyViewedMarketsLimit.\n *\n * @param symbol - The trading pair symbol (e.g. 'BTC', 'ETH', 'xyz:TSLA').\n */\nexport type PerpsControllerRecordMarketViewedAction = {\n type: `PerpsController:recordMarketViewed`;\n handler: PerpsController['recordMarketViewed'];\n};\n\n/**\n * Get recently viewed markets for the current network.\n *\n * Returns up to PERPS_CONSTANTS.RecentlyViewedMarketsLimit symbols, ordered\n * newest-first, filtered to entries within the last\n * PERPS_CONSTANTS.RecentlyViewedMarketsTtlMs (24 hours). Returns an empty\n * array when no qualifying entries exist.\n *\n * @returns Ordered array of market symbols.\n */\nexport type PerpsControllerGetRecentlyViewedMarketsAction = {\n type: `PerpsController:getRecentlyViewedMarkets`;\n handler: PerpsController['getRecentlyViewedMarkets'];\n};\n\n/**\n * Check if the controller is currently reinitializing\n *\n * @returns true if providers are being reinitialized\n */\nexport type PerpsControllerIsCurrentlyReinitializingAction = {\n type: `PerpsController:isCurrentlyReinitializing`;\n handler: PerpsController['isCurrentlyReinitializing'];\n};\n\n/**\n * Union of all PerpsController action types.\n */\nexport type PerpsControllerMethodActions =\n | PerpsControllerGetCachedMarketDataForActiveProviderAction\n | PerpsControllerGetCachedUserDataForActiveProviderAction\n | PerpsControllerGetUserDataSnapshotAction\n | PerpsControllerInitAction\n | PerpsControllerGetActiveProviderAction\n | PerpsControllerGetActiveProviderOrNullAction\n | PerpsControllerGetOrderCapabilitiesAction\n | PerpsControllerGetMarginModeLockAction\n | PerpsControllerGetScalePriceLadderAction\n | PerpsControllerPlaceOrderAction\n | PerpsControllerEditOrderAction\n | PerpsControllerCancelOrderAction\n | PerpsControllerGetTwapOrdersAction\n | PerpsControllerGetChaseOrdersAction\n | PerpsControllerSuspendChaseOrdersAction\n | PerpsControllerCancelOrdersAction\n | PerpsControllerClosePositionAction\n | PerpsControllerClosePositionsAction\n | PerpsControllerUpdatePositionTPSLAction\n | PerpsControllerUpdateMarginAction\n | PerpsControllerFlipPositionAction\n | PerpsControllerDepositWithConfirmationAction\n | PerpsControllerDepositWithOrderAction\n | PerpsControllerClearDepositResultAction\n | PerpsControllerClearWithdrawResultAction\n | PerpsControllerUpdateWithdrawalStatusAction\n | PerpsControllerCompleteWithdrawalFromHistoryAction\n | PerpsControllerUpdateWithdrawalProgressAction\n | PerpsControllerGetWithdrawalProgressAction\n | PerpsControllerWithdrawAction\n | PerpsControllerGetPositionsAction\n | PerpsControllerGetOrderFillsAction\n | PerpsControllerGetPendingManualRecoveriesAction\n | PerpsControllerGetRecoveredDispatchesAction\n | PerpsControllerAcknowledgeRecoveredDispatchAction\n | PerpsControllerGetOrdersAction\n | PerpsControllerGetOpenOrdersAction\n | PerpsControllerGetFundingAction\n | PerpsControllerGetAccountStateAction\n | PerpsControllerGetHistoricalPortfolioAction\n | PerpsControllerGetMarketsAction\n | PerpsControllerGetMarketDataWithPricesAction\n | PerpsControllerStartMarketDataPreloadAction\n | PerpsControllerStopMarketDataPreloadAction\n | PerpsControllerGetAvailableDexsAction\n | PerpsControllerFetchHistoricalCandlesAction\n | PerpsControllerCalculateLiquidationPriceAction\n | PerpsControllerPreviewPositionModifyAction\n | PerpsControllerCalculateMaintenanceMarginAction\n | PerpsControllerGetMaxLeverageAction\n | PerpsControllerValidateOrderAction\n | PerpsControllerValidateClosePositionAction\n | PerpsControllerValidateWithdrawalAction\n | PerpsControllerGetWithdrawalRoutesAction\n | PerpsControllerSetAttributionContextAction\n | PerpsControllerGetAttributionContextAction\n | PerpsControllerClearAttributionContextAction\n | PerpsControllerToggleTestnetAction\n | PerpsControllerSwitchProviderAction\n | PerpsControllerGetCurrentNetworkAction\n | PerpsControllerGetMarketCategoriesAction\n | PerpsControllerGetWebSocketConnectionStateAction\n | PerpsControllerSubscribeToConnectionStateAction\n | PerpsControllerReconnectAction\n | PerpsControllerSubscribeToPricesAction\n | PerpsControllerSubscribeToPositionsAction\n | PerpsControllerSubscribeToOrderFillsAction\n | PerpsControllerSubscribeToTwapOrdersAction\n | PerpsControllerSubscribeToOrdersAction\n | PerpsControllerSubscribeToAccountAction\n | PerpsControllerSubscribeToOrderBookAction\n | PerpsControllerSubscribeToCandlesAction\n | PerpsControllerSubscribeToOICapsAction\n | PerpsControllerSetLiveDataConfigAction\n | PerpsControllerCalculateFeesAction\n | PerpsControllerSetAgentSignerAction\n | PerpsControllerClearAgentSignersAction\n | PerpsControllerPrepareTradingWalletAction\n | PerpsControllerApproveSubscriptionBuilderFeeAction\n | PerpsControllerInvalidateSubscriptionBenefitsAction\n | PerpsControllerDisconnectAction\n | PerpsControllerStartEligibilityMonitoringAction\n | PerpsControllerStopEligibilityMonitoringAction\n | PerpsControllerRefreshEligibilityAction\n | PerpsControllerGetBlockExplorerUrlAction\n | PerpsControllerIsFirstTimeUserOnCurrentNetworkAction\n | PerpsControllerMarkTutorialCompletedAction\n | PerpsControllerMarkFirstOrderCompletedAction\n | PerpsControllerResetFirstTimeUserStateAction\n | PerpsControllerClearPendingTransactionRequestsAction\n | PerpsControllerGetTradeConfigurationAction\n | PerpsControllerSaveTradeConfigurationAction\n | PerpsControllerSavePendingTradeConfigurationAction\n | PerpsControllerGetPendingTradeConfigurationAction\n | PerpsControllerClearPendingTradeConfigurationAction\n | PerpsControllerGetMarketFilterPreferencesAction\n | PerpsControllerSaveMarketFilterPreferencesAction\n | PerpsControllerGetMaxSlippageAction\n | PerpsControllerSetMaxSlippageAction\n | PerpsControllerGetOrderBookPreferencesAction\n | PerpsControllerSetOrderBookPreferencesAction\n | PerpsControllerGetSelectedOrderTypeAction\n | PerpsControllerSetSelectedOrderTypeAction\n | PerpsControllerGetVisibleCandleCountAction\n | PerpsControllerSetVisibleCandleCountAction\n | PerpsControllerGetProLayoutPreferencesAction\n | PerpsControllerSetProLayoutPreferencesAction\n | PerpsControllerSetPerpsModeAction\n | PerpsControllerSetSelectedPaymentTokenAction\n | PerpsControllerResetSelectedPaymentTokenAction\n | PerpsControllerGetOrderBookGroupingAction\n | PerpsControllerSaveOrderBookGroupingAction\n | PerpsControllerGetMarginModeAction\n | PerpsControllerSaveMarginModeAction\n | PerpsControllerToggleWatchlistMarketAction\n | PerpsControllerIsWatchlistMarketAction\n | PerpsControllerGetWatchlistMarketsAction\n | PerpsControllerRecordMarketViewedAction\n | PerpsControllerGetRecentlyViewedMarketsAction\n | PerpsControllerIsCurrentlyReinitializingAction;\n"]}
1
+ {"version":3,"file":"PerpsController-method-action-types.js","sourceRoot":"","sources":["../src/PerpsController-method-action-types.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/**\n * This file is auto generated.\n * Do not edit manually.\n */\n\nimport type { PerpsController } from './PerpsController.js';\n\n/**\n * Read cached market data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists or when cache has expired.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 5-minute TTL check.\n * Used during initial render so disk-hydrated structural data (with\n * placeholder prices) is returned regardless of age.\n * @returns The cached market data array, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedMarketDataForActiveProviderAction = {\n type: `PerpsController:getCachedMarketDataForActiveProvider`;\n handler: PerpsController['getCachedMarketDataForActiveProvider'];\n};\n\n/**\n * Read cached user data for the currently active provider (or aggregated).\n * Returns null when no valid cache exists, cache has expired, or address\n * does not match the currently selected EVM account.\n *\n * @param options - Optional settings.\n * @param options.skipTTL - When true, bypass the 60s staleness check.\n * Used during initial render so disk-hydrated user data (positions/orders)\n * is returned regardless of age, avoiding a skeleton flash.\n * @returns The cached user data, or null if no valid cache.\n */\nexport type PerpsControllerGetCachedUserDataForActiveProviderAction = {\n type: `PerpsController:getCachedUserDataForActiveProvider`;\n handler: PerpsController['getCachedUserDataForActiveProvider'];\n};\n\n/**\n * Fetch, validate, and atomically cache a complete user-data snapshot.\n * This remains callable after mount so consumers can seed their live channel\n * from one coherent positions/orders/account result.\n *\n * @returns The accepted user-data snapshot.\n */\nexport type PerpsControllerGetUserDataSnapshotAction = {\n type: `PerpsController:getUserDataSnapshot`;\n handler: PerpsController['getUserDataSnapshot'];\n};\n\n/**\n * Initialize the PerpsController providers\n * Must be called before using any other methods\n * Prevents double initialization with promise caching\n *\n * @returns A promise that resolves when the operation completes.\n */\nexport type PerpsControllerInitAction = {\n type: `PerpsController:init`;\n handler: PerpsController['init'];\n};\n\n/**\n * Get the currently active provider.\n * In aggregated mode, returns AggregatedPerpsProvider which routes to underlying providers.\n * In single provider mode, returns HyperLiquidProvider directly.\n *\n * @returns The active provider (aggregated wrapper or direct provider based on mode)\n * @throws Error if provider is not initialized or reinitializing\n */\nexport type PerpsControllerGetActiveProviderAction = {\n type: `PerpsController:getActiveProvider`;\n handler: PerpsController['getActiveProvider'];\n};\n\n/**\n * Get the currently active provider, returning null if not available\n * Use this method when the caller can gracefully handle a missing provider\n * (e.g., UI components during initialization or reconnection)\n *\n * @returns The active provider, or null if not initialized/reinitializing\n */\nexport type PerpsControllerGetActiveProviderOrNullAction = {\n type: `PerpsController:getActiveProviderOrNull`;\n handler: PerpsController['getActiveProviderOrNull'];\n};\n\n/**\n * Get strategy capabilities through the active provider route used by order\n * placement. The query waits for in-flight initialization and reports an\n * explicit unavailable status when no provider route can answer reliably.\n *\n * @param params - Market and optional provider route.\n * @returns Provider-owned order capabilities.\n */\nexport type PerpsControllerGetOrderCapabilitiesAction = {\n type: `PerpsController:getOrderCapabilities`;\n handler: PerpsController['getOrderCapabilities'];\n};\n\n/**\n * Get the margin mode the market is currently locked to by an open\n * position or resting order, through the active provider route used by\n * order placement. Never throws; failures report an unavailable status.\n *\n * @param params - Market and optional provider route.\n * @returns The provider-reported margin-mode lock.\n */\nexport type PerpsControllerGetMarginModeLockAction = {\n type: `PerpsController:getMarginModeLock`;\n handler: PerpsController['getMarginModeLock'];\n};\n\n/**\n * Build a Scale price ladder using the active provider's venue rules.\n *\n * @param params - Market, ladder bounds, count, and optional explicit route.\n * @returns Provider-normalized prices or a typed unavailable result.\n * @throws When the provider cannot normalize the requested ladder.\n */\nexport type PerpsControllerGetScalePriceLadderAction = {\n type: `PerpsController:getScalePriceLadder`;\n handler: PerpsController['getScalePriceLadder'];\n};\n\n/**\n * Place a new order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result with order ID and status.\n */\nexport type PerpsControllerPlaceOrderAction = {\n type: `PerpsController:placeOrder`;\n handler: PerpsController['placeOrder'];\n};\n\n/**\n * Edit an existing order\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The updated order result with order ID and status.\n */\nexport type PerpsControllerEditOrderAction = {\n type: `PerpsController:editOrder`;\n handler: PerpsController['editOrder'];\n};\n\n/**\n * Cancel an existing order\n *\n * @param params - The operation parameters.\n * @returns The cancellation result with status.\n */\nexport type PerpsControllerCancelOrderAction = {\n type: `PerpsController:cancelOrder`;\n handler: PerpsController['cancelOrder'];\n};\n\n/**\n * Read venue-backed TWAP lifecycle records through the active provider.\n * Providers without native TWAP history return an empty list.\n *\n * @returns Current and terminal TWAP schedules with slice fills.\n */\nexport type PerpsControllerGetTwapOrdersAction = {\n type: `PerpsController:getTwapOrders`;\n handler: PerpsController['getTwapOrders'];\n};\n\n/**\n * Read the active provider's retained Chase lifecycle snapshots.\n * Providers without an emulated Chase implementation return an empty list.\n *\n * @returns Current Chase session snapshots.\n */\nexport type PerpsControllerGetChaseOrdersAction = {\n type: `PerpsController:getChaseOrders`;\n handler: PerpsController['getChaseOrders'];\n};\n\n/**\n * Stop Chase repricing for app backgrounding without cancelling the current\n * resting children.\n *\n * @returns Chase snapshots after suspension.\n * @throws If an aggregated provider cannot suspend every active venue. Other\n * providers may already be suspended; callers can retry to reconcile them.\n */\nexport type PerpsControllerSuspendChaseOrdersAction = {\n type: `PerpsController:suspendChaseOrders`;\n handler: PerpsController['suspendChaseOrders'];\n};\n\n/**\n * Cancel multiple orders in parallel\n * Batch version of cancelOrder() that cancels multiple orders simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch cancellation results for each order.\n */\nexport type PerpsControllerCancelOrdersAction = {\n type: `PerpsController:cancelOrders`;\n handler: PerpsController['cancelOrders'];\n};\n\n/**\n * Close a position (partial or full)\n * Thin delegation to TradingService\n *\n * @param params - The operation parameters.\n * @returns The order result from the close position request.\n */\nexport type PerpsControllerClosePositionAction = {\n type: `PerpsController:closePosition`;\n handler: PerpsController['closePosition'];\n};\n\n/**\n * Close multiple positions in parallel\n * Batch version of closePosition() that closes multiple positions simultaneously\n *\n * @param params - The operation parameters.\n * @returns The batch close results for each position.\n */\nexport type PerpsControllerClosePositionsAction = {\n type: `PerpsController:closePositions`;\n handler: PerpsController['closePositions'];\n};\n\n/**\n * Update TP/SL for an existing position\n *\n * @param params - The operation parameters.\n * @returns The order result from the TP/SL update.\n */\nexport type PerpsControllerUpdatePositionTPSLAction = {\n type: `PerpsController:updatePositionTPSL`;\n handler: PerpsController['updatePositionTPSL'];\n};\n\n/**\n * Update margin for an existing position (add or remove)\n *\n * @param params - The operation parameters.\n * @returns The margin update result.\n */\nexport type PerpsControllerUpdateMarginAction = {\n type: `PerpsController:updateMargin`;\n handler: PerpsController['updateMargin'];\n};\n\n/**\n * Flip position (reverse direction while keeping size and leverage)\n *\n * @param params - The operation parameters.\n * @returns The order result from the position flip.\n */\nexport type PerpsControllerFlipPositionAction = {\n type: `PerpsController:flipPosition`;\n handler: PerpsController['flipPosition'];\n};\n\n/**\n * Simplified deposit method that prepares transaction for confirmation screen\n * No complex state tracking - just sets a loading flag\n *\n * @param params - Parameters for the deposit flow\n * @param params.amount - Optional deposit amount\n * @param params.placeOrder - If true, uses addTransaction instead of submit to avoid navigation\n * @returns An object containing a promise that resolves to the transaction hash.\n */\nexport type PerpsControllerDepositWithConfirmationAction = {\n type: `PerpsController:depositWithConfirmation`;\n handler: PerpsController['depositWithConfirmation'];\n};\n\n/**\n * Same as depositWithConfirmation - prepares transaction for confirmation screen.\n *\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerDepositWithOrderAction = {\n type: `PerpsController:depositWithOrder`;\n handler: PerpsController['depositWithOrder'];\n};\n\n/**\n * Clear the last deposit result after it has been shown to the user\n */\nexport type PerpsControllerClearDepositResultAction = {\n type: `PerpsController:clearDepositResult`;\n handler: PerpsController['clearDepositResult'];\n};\n\nexport type PerpsControllerClearWithdrawResultAction = {\n type: `PerpsController:clearWithdrawResult`;\n handler: PerpsController['clearWithdrawResult'];\n};\n\n/**\n * Update withdrawal request status when it completes, or remove it on failure.\n * This is called when a withdrawal is matched with a completed withdrawal from the API.\n * When status is `failed`, the request is removed from the queue (not retained).\n *\n * @param withdrawalId - The withdrawal transaction ID.\n * @param status - The current status.\n * @param txHash - The transaction hash.\n */\nexport type PerpsControllerUpdateWithdrawalStatusAction = {\n type: `PerpsController:updateWithdrawalStatus`;\n handler: PerpsController['updateWithdrawalStatus'];\n};\n\n/**\n * Complete a specific withdrawal detected via transaction history polling (FIFO queue).\n * Called when a completed withdrawal appears in the transaction history matching a pending request.\n *\n * Uses FIFO matching: oldest pending withdrawal is matched with first completed withdrawal\n * in history that happened after its submission time.\n *\n * @param withdrawalRequestId - The ID of the pending withdrawal request to mark as complete.\n * @param completedWithdrawal - The completed withdrawal data from the history API.\n * @param completedWithdrawal.txHash - The on-chain transaction hash.\n * @param completedWithdrawal.amount - The withdrawal amount.\n * @param completedWithdrawal.timestamp - The completion timestamp from the history API.\n * @param completedWithdrawal.asset - The asset symbol (e.g. USDC).\n */\nexport type PerpsControllerCompleteWithdrawalFromHistoryAction = {\n type: `PerpsController:completeWithdrawalFromHistory`;\n handler: PerpsController['completeWithdrawalFromHistory'];\n};\n\n/**\n * Update withdrawal progress (persistent across navigation)\n *\n * @param progress - The progress indicator.\n * @param activeWithdrawalId - The active withdrawal ID.\n */\nexport type PerpsControllerUpdateWithdrawalProgressAction = {\n type: `PerpsController:updateWithdrawalProgress`;\n handler: PerpsController['updateWithdrawalProgress'];\n};\n\n/**\n * Get current withdrawal progress\n *\n * @returns The withdrawal progress, last update timestamp, and active withdrawal ID.\n */\nexport type PerpsControllerGetWithdrawalProgressAction = {\n type: `PerpsController:getWithdrawalProgress`;\n handler: PerpsController['getWithdrawalProgress'];\n};\n\n/**\n * Withdraw funds from trading account\n *\n * The withdrawal process varies by provider and may involve:\n * - Direct on-chain transfers\n * - Bridge operations\n * - Multi-step validation processes\n *\n * Check the specific provider documentation for detailed withdrawal flows.\n *\n * @param params Withdrawal parameters\n * @returns WithdrawResult with withdrawal ID and tracking info\n */\nexport type PerpsControllerWithdrawAction = {\n type: `PerpsController:withdraw`;\n handler: PerpsController['withdraw'];\n};\n\n/**\n * Get current positions\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow position queries\n * without full perps initialization (e.g., for showing positions on token details page)\n *\n * @param params - The operation parameters.\n * @returns Array of open positions for the active provider.\n */\nexport type PerpsControllerGetPositionsAction = {\n type: `PerpsController:getPositions`;\n handler: PerpsController['getPositions'];\n};\n\n/**\n * Get historical user fills (trade executions)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical trade executions (fills).\n */\nexport type PerpsControllerGetOrderFillsAction = {\n type: `PerpsController:getOrderFills`;\n handler: PerpsController['getOrderFills'];\n};\n\n/**\n * List TP/SL protection changes the active provider parked for\n * explicit manual re-establishment. Providers without durable\n * settlement state return an empty list.\n *\n * @returns Pending manual-recovery entries.\n */\nexport type PerpsControllerGetPendingManualRecoveriesAction = {\n type: `PerpsController:getPendingManualRecoveries`;\n handler: PerpsController['getPendingManualRecoveries'];\n};\n\n/**\n * READ-ONLY list of the active provider's recovered-dispatch outcomes\n * (previously ambiguous submissions later resolved). Providers without\n * durable dispatch state return an empty list.\n *\n * @returns Pending recovered-dispatch outcomes.\n */\nexport type PerpsControllerGetRecoveredDispatchesAction = {\n type: `PerpsController:getRecoveredDispatches`;\n handler: PerpsController['getRecoveredDispatches'];\n};\n\n/**\n * Acknowledge ONE recovered-dispatch outcome by its stable id, after\n * refreshing venue state. Throws when the active provider has no\n * durable dispatch state or the id no longer matches.\n *\n * @param recoveryId - Stable id from {@link getRecoveredDispatches}.\n * @returns Resolves when the outcome is acknowledged.\n */\nexport type PerpsControllerAcknowledgeRecoveredDispatchAction = {\n type: `PerpsController:acknowledgeRecoveredDispatch`;\n handler: PerpsController['acknowledgeRecoveredDispatch'];\n};\n\n/**\n * Get historical user orders (order lifecycle)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical orders.\n */\nexport type PerpsControllerGetOrdersAction = {\n type: `PerpsController:getOrders`;\n handler: PerpsController['getOrders'];\n};\n\n/**\n * Get currently open orders (real-time status)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow open order queries\n * without full perps initialization (e.g., for background preloading)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetOpenOrdersAction = {\n type: `PerpsController:getOpenOrders`;\n handler: PerpsController['getOpenOrders'];\n};\n\n/**\n * Get historical user funding history (funding payments)\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @param options - Optional call modifiers.\n * @param options.forceRefresh - Bypass the request-coalesce cache\n * end-to-end (user-initiated refresh).\n * @returns Array of historical funding payments.\n */\nexport type PerpsControllerGetFundingAction = {\n type: `PerpsController:getFunding`;\n handler: PerpsController['getFunding'];\n};\n\n/**\n * Get account state (balances, etc.)\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow account state queries\n * without full perps initialization (e.g., for checking if user has perps funds)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerGetAccountStateAction = {\n type: `PerpsController:getAccountState`;\n handler: PerpsController['getAccountState'];\n};\n\n/**\n * Get historical portfolio data\n * Thin delegation to MarketDataService\n *\n * @param params - The operation parameters.\n * @returns The historical portfolio data points.\n */\nexport type PerpsControllerGetHistoricalPortfolioAction = {\n type: `PerpsController:getHistoricalPortfolio`;\n handler: PerpsController['getHistoricalPortfolio'];\n};\n\n/**\n * Get available markets with optional filtering\n * Thin delegation to MarketDataService\n *\n * For standalone mode, bypasses getActiveProvider() to allow market discovery\n * without full perps initialization (e.g., for discovery banners on spot screens)\n *\n * @param params - The operation parameters.\n * @returns Array of available markets matching the filter criteria.\n */\nexport type PerpsControllerGetMarketsAction = {\n type: `PerpsController:getMarkets`;\n handler: PerpsController['getMarkets'];\n};\n\n/**\n * Get market data with prices (includes price, volume, 24h change).\n * Optionally filter by category, sort, and limit the results.\n *\n * For standalone mode, bypasses getActiveProvider() to allow market data queries\n * without full perps initialization (e.g., for background preloading on app start)\n *\n * @param params - The operation parameters.\n * @param params.standalone - Whether to use standalone mode.\n * @param params.categories - Filter to markets matching any of these categories.\n * @param params.sortBy - Sort results by this field.\n * @param params.direction - Sort direction (default: desc).\n * @param params.limit - Maximum number of results to return.\n * @returns A promise that resolves to the market data.\n */\nexport type PerpsControllerGetMarketDataWithPricesAction = {\n type: `PerpsController:getMarketDataWithPrices`;\n handler: PerpsController['getMarketDataWithPrices'];\n};\n\n/**\n * Start background market data preloading.\n * Fetches market data immediately and refreshes every 5 minutes.\n * Watches for isTestnet and hip3ConfigVersion changes to re-preload.\n */\nexport type PerpsControllerStartMarketDataPreloadAction = {\n type: `PerpsController:startMarketDataPreload`;\n handler: PerpsController['startMarketDataPreload'];\n};\n\n/**\n * Stop background market data preloading.\n */\nexport type PerpsControllerStopMarketDataPreloadAction = {\n type: `PerpsController:stopMarketDataPreload`;\n handler: PerpsController['stopMarketDataPreload'];\n};\n\n/**\n * Get list of available HIP-3 builder-deployed DEXs\n *\n * @param params - Optional parameters for filtering\n * @returns Array of DEX names\n */\nexport type PerpsControllerGetAvailableDexsAction = {\n type: `PerpsController:getAvailableDexs`;\n handler: PerpsController['getAvailableDexs'];\n};\n\n/**\n * Fetch historical candle data\n * Thin delegation to MarketDataService\n *\n * @param options - The configuration options.\n * @param options.symbol - The trading pair symbol.\n * @param options.interval - The candle interval period.\n * @param options.limit - Maximum number of items to fetch.\n * @param options.endTime - End timestamp in milliseconds.\n * @returns The historical candle data for the requested symbol and interval.\n */\nexport type PerpsControllerFetchHistoricalCandlesAction = {\n type: `PerpsController:fetchHistoricalCandles`;\n handler: PerpsController['fetchHistoricalCandles'];\n};\n\n/**\n * Calculate liquidation price for a position\n * Uses provider-specific formulas based on protocol rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the string result.\n */\nexport type PerpsControllerCalculateLiquidationPriceAction = {\n type: `PerpsController:calculateLiquidationPrice`;\n handler: PerpsController['calculateLiquidationPrice'];\n};\n\n/**\n * Project the isolated position that would remain after a proposed order.\n * Margin and liquidation availability are independent: a missing liquidation\n * does not hide a valid margin projection. Cross-margin returns unsupported.\n *\n * @param params - Live position plus the proposed order.\n * @returns Discriminated preview of the resulting position.\n */\nexport type PerpsControllerPreviewPositionModifyAction = {\n type: `PerpsController:previewPositionModify`;\n handler: PerpsController['previewPositionModify'];\n};\n\n/**\n * Calculate maintenance margin for a specific asset\n * Returns a percentage (e.g., 0.0125 for 1.25%)\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerCalculateMaintenanceMarginAction = {\n type: `PerpsController:calculateMaintenanceMargin`;\n handler: PerpsController['calculateMaintenanceMargin'];\n};\n\n/**\n * Get maximum leverage allowed for an asset\n *\n * @param asset - The asset identifier.\n * @param providerId - Optional provider route for aggregated markets.\n * @returns A promise that resolves to the numeric result.\n */\nexport type PerpsControllerGetMaxLeverageAction = {\n type: `PerpsController:getMaxLeverage`;\n handler: PerpsController['getMaxLeverage'];\n};\n\n/**\n * Validate order parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateOrderAction = {\n type: `PerpsController:validateOrder`;\n handler: PerpsController['validateOrder'];\n};\n\n/**\n * Validate close position parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns A promise that resolves to the result.\n */\nexport type PerpsControllerValidateClosePositionAction = {\n type: `PerpsController:validateClosePosition`;\n handler: PerpsController['validateClosePosition'];\n};\n\n/**\n * Validate withdrawal parameters according to protocol-specific rules\n *\n * @param params - The operation parameters.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerValidateWithdrawalAction = {\n type: `PerpsController:validateWithdrawal`;\n handler: PerpsController['validateWithdrawal'];\n};\n\n/**\n * Get supported withdrawal routes - returns complete asset and routing information\n *\n * @returns Array of supported asset routes for withdrawals.\n */\nexport type PerpsControllerGetWithdrawalRoutesAction = {\n type: `PerpsController:getWithdrawalRoutes`;\n handler: PerpsController['getWithdrawalRoutes'];\n};\n\n/**\n * Set the transient UTM / discovery attribution context.\n * Replaces any previously set context. Held in-memory only — not persisted.\n *\n * @param context - The attribution context (UTM fields) to store.\n */\nexport type PerpsControllerSetAttributionContextAction = {\n type: `PerpsController:setAttributionContext`;\n handler: PerpsController['setAttributionContext'];\n};\n\n/**\n * Get a copy of the current attribution context.\n *\n * @returns A shallow copy of the stored attribution context.\n */\nexport type PerpsControllerGetAttributionContextAction = {\n type: `PerpsController:getAttributionContext`;\n handler: PerpsController['getAttributionContext'];\n};\n\n/**\n * Clear the stored attribution context.\n */\nexport type PerpsControllerClearAttributionContextAction = {\n type: `PerpsController:clearAttributionContext`;\n handler: PerpsController['clearAttributionContext'];\n};\n\n/**\n * Toggle between testnet and mainnet\n *\n * @returns The toggle result with success status and current network mode.\n */\nexport type PerpsControllerToggleTestnetAction = {\n type: `PerpsController:toggleTestnet`;\n handler: PerpsController['toggleTestnet'];\n};\n\n/**\n * Switch to a different provider\n * Uses a full reinit approach: disconnect() → update state → init()\n * This ensures complete state reset including WebSocket connections and caches.\n *\n * @param providerId - The provider identifier.\n * @returns The switch result with success status and active provider.\n */\nexport type PerpsControllerSwitchProviderAction = {\n type: `PerpsController:switchProvider`;\n handler: PerpsController['switchProvider'];\n};\n\n/**\n * Get current network (mainnet/testnet)\n *\n * @returns Either 'mainnet' or 'testnet' based on the current configuration.\n */\nexport type PerpsControllerGetCurrentNetworkAction = {\n type: `PerpsController:getCurrentNetwork`;\n handler: PerpsController['getCurrentNetwork'];\n};\n\n/**\n * Get the ordered list of all market categories for HIP-3 markets.\n * Returns a stable, explicitly ordered array so the UI can render\n * category filter tabs without deriving order from config insertion.\n *\n * @returns Ordered array of {@link MarketTypeFilter} values. Does not include the 'all' or 'new' sentinels — those are separate UI controls.\n */\nexport type PerpsControllerGetMarketCategoriesAction = {\n type: `PerpsController:getMarketCategories`;\n handler: PerpsController['getMarketCategories'];\n};\n\n/**\n * Get the current WebSocket connection state from the active provider.\n * Used by the UI to monitor connection health and show notifications.\n *\n * @returns The current WebSocket connection state, or DISCONNECTED if not supported\n */\nexport type PerpsControllerGetWebSocketConnectionStateAction = {\n type: `PerpsController:getWebSocketConnectionState`;\n handler: PerpsController['getWebSocketConnectionState'];\n};\n\n/**\n * Subscribe to WebSocket connection state changes from the active provider.\n * The listener will be called immediately with the current state and whenever the state changes.\n *\n * @param listener - Callback function that receives the new connection state and reconnection attempt\n * @returns Unsubscribe function to remove the listener, or no-op if not supported\n */\nexport type PerpsControllerSubscribeToConnectionStateAction = {\n type: `PerpsController:subscribeToConnectionState`;\n handler: PerpsController['subscribeToConnectionState'];\n};\n\n/**\n * Manually trigger a WebSocket reconnection attempt.\n * Used by the UI retry button when connection is lost.\n */\nexport type PerpsControllerReconnectAction = {\n type: `PerpsController:reconnect`;\n handler: PerpsController['reconnect'];\n};\n\n/**\n * Subscribe to live price updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPricesAction = {\n type: `PerpsController:subscribeToPrices`;\n handler: PerpsController['subscribeToPrices'];\n};\n\n/**\n * Subscribe to live position updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToPositionsAction = {\n type: `PerpsController:subscribeToPositions`;\n handler: PerpsController['subscribeToPositions'];\n};\n\n/**\n * Subscribe to live order fill updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderFillsAction = {\n type: `PerpsController:subscribeToOrderFills`;\n handler: PerpsController['subscribeToOrderFills'];\n};\n\n/**\n * Stream TWAP lifecycle updates through the active provider.\n *\n * Providers without a native TWAP push channel do not implement this; the\n * returned no-op cleanup lets a client fall back to polling `getTwapOrders`\n * without branching on provider identity.\n *\n * @param params - Subscription parameters including callback and account ID.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToTwapOrdersAction = {\n type: `PerpsController:subscribeToTwapOrders`;\n handler: PerpsController['subscribeToTwapOrders'];\n};\n\n/**\n * Subscribe to live order updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrdersAction = {\n type: `PerpsController:subscribeToOrders`;\n handler: PerpsController['subscribeToOrders'];\n};\n\n/**\n * Subscribe to live account updates.\n * Updates controller state (Redux) when new account data arrives so consumers\n * like usePerpsBalanceTokenFilter (PayWithModal) see the latest balance.\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToAccountAction = {\n type: `PerpsController:subscribeToAccount`;\n handler: PerpsController['subscribeToAccount'];\n};\n\n/**\n * Subscribe to full order book updates with multiple depth levels\n * Creates a dedicated L2Book subscription for real-time order book data\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOrderBookAction = {\n type: `PerpsController:subscribeToOrderBook`;\n handler: PerpsController['subscribeToOrderBook'];\n};\n\n/**\n * Subscribe to live candle updates\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToCandlesAction = {\n type: `PerpsController:subscribeToCandles`;\n handler: PerpsController['subscribeToCandles'];\n};\n\n/**\n * Subscribe to open interest cap updates\n * Zero additional network overhead - data comes from existing webData3 subscription\n *\n * @param params - The operation parameters.\n * @returns A cleanup function to remove the subscription.\n */\nexport type PerpsControllerSubscribeToOICapsAction = {\n type: `PerpsController:subscribeToOICaps`;\n handler: PerpsController['subscribeToOICaps'];\n};\n\n/**\n * Configure live data throttling\n *\n * @param config - The configuration object.\n */\nexport type PerpsControllerSetLiveDataConfigAction = {\n type: `PerpsController:setLiveDataConfig`;\n handler: PerpsController['setLiveDataConfig'];\n};\n\n/**\n * Calculate trading fees through the active provider route.\n * Each provider owns its fee policy. An explicit provider route overrides\n * the active/default provider used by placement.\n *\n * @param params - The operation parameters.\n * @returns The fee calculation result for the trade.\n */\nexport type PerpsControllerCalculateFeesAction = {\n type: `PerpsController:calculateFees`;\n handler: PerpsController['calculateFees'];\n};\n\n/**\n * Sign HyperLiquid L1 actions (orders, cancels, leverage, ...) for a main\n * account on a network with an approved agent, or pin them to the main\n * account with null (`getAgentSigner` is then not asked for that account and\n * network until `clearAgentSigners`). User-signed actions stay on the main\n * account, and the agent is never used for another account or network. The\n * controller keeps the binding across provider re-creation (a provider or\n * network switch, or re-initialization), so it can also be set before\n * `init`. Like every controller action, it is available through the\n * messenger once `init` has run.\n *\n * @param account - The main account and network the agent is approved for.\n * @param agentSigner - The host-owned agent signer, or null to pin the main\n * account.\n */\nexport type PerpsControllerSetAgentSignerAction = {\n type: `PerpsController:setAgentSigner`;\n handler: PerpsController['setAgentSigner'];\n};\n\n/**\n * Forget every HyperLiquid agent, set or resolved, so the next L1 action\n * asks `providerCredentials.hyperliquid.getAgentSigner` again; an answer\n * still pending is discarded too. Call it when the wallet locks (with\n * `getAgentSigner` returning null while locked) and nothing signs with an\n * agent until it returns one again. Like every controller action, it is\n * available through the messenger once `init` has run.\n */\nexport type PerpsControllerClearAgentSignersAction = {\n type: `PerpsController:clearAgentSigners`;\n handler: PerpsController['clearAgentSigners'];\n};\n\n/**\n * Run the active provider's deferred trading setup ahead of the first order\n * (HyperLiquid account migration, builder fee and referral; Lighter\n * venue-key registration), so its signatures happen in one guided session,\n * such as agent setup, instead of at order time. The builder fee and\n * Lighter's registration are signed by the main account; with an agent,\n * the referral and the account migration are L1 actions the agent signs.\n *\n * @returns `ready: true` when none of these steps will need a signature\n * again before the first order, and only while an account is selected and\n * the main account can sign, whichever provider answered (including\n * providers without deferred setup, for example in aggregated mode). A\n * HyperLiquid referral whose MetaMask referral code is not ready yet is\n * checked again at the next call, not before orders, so it does not hold\n * it back. Otherwise `ready: false`, without an error while a step will\n * be asked again (a declined HyperLiquid migration, builder fee or Lighter\n * registration, or a step the agent could not sign), or with:\n * - `KEYRING_LOCKED` when the main account cannot sign, before or during\n * setup;\n * - `EXCHANGE_ACCOUNT_NOT_FOUND` for a wallet with no account on the venue\n * yet;\n * - `NO_ACCOUNT_SELECTED` when no account is selected;\n * - `PROVIDER_LIFECYCLE_STALE` when the provider disconnected or the account\n * changed during setup;\n * - the venue's message when HyperLiquid refused the builder fee approval\n * for a reason signing again cannot fix (for example \"Builder has\n * insufficient balance to be approved\"); it is not logged, and the\n * approval is not asked for again until the provider disconnects;\n * - otherwise the message of the error that stopped setup, which is logged.\n * @throws Like the other provider-backed actions, `CLIENT_NOT_INITIALIZED`\n * before `init`, and `CLIENT_REINITIALIZING` or `PROVIDER_NOT_AVAILABLE`\n * when no active provider is available.\n */\nexport type PerpsControllerPrepareTradingWalletAction = {\n type: `PerpsController:prepareTradingWallet`;\n handler: PerpsController['prepareTradingWallet'];\n};\n\n/**\n * Approve the dedicated subscription builder outside order submission.\n *\n * @deprecated ADR 0064 replaced the dedicated subscription builder with cloid\n * marking on the standard builder, so there is nothing left to approve. Kept\n * as a no-op so clients still calling it keep building while they migrate;\n * remove it once cloid marking is verified in shadow mode.\n *\n * Resolves `true`, not `false`. The method answers \"is the subscription\n * builder ready?\", and the honest answer is now \"nothing needs approving\" —\n * a `false` would read as a setup failure to a caller that branches on it and\n * could block a waiver that is already fully in effect.\n * @returns Always `true`; no approval is required.\n */\nexport type PerpsControllerApproveSubscriptionBuilderFeeAction = {\n type: `PerpsController:approveSubscriptionBuilderFee`;\n handler: PerpsController['approveSubscriptionBuilderFee'];\n};\n\n/**\n * Drop the cached subscription benefits snapshot.\n *\n * Call this when the identity behind the benefits changes — sign-out, or a\n * profile switch. The snapshot carries no profile identity of its own, so\n * without this it keeps answering for the previous profile until the next\n * successful refresh. The next fee resolution reports the waiver as\n * unavailable, so it is withheld until preview or lifecycle hydration.\n */\nexport type PerpsControllerInvalidateSubscriptionBenefitsAction = {\n type: `PerpsController:invalidateSubscriptionBenefits`;\n handler: PerpsController['invalidateSubscriptionBenefits'];\n};\n\n/**\n * Disconnect provider and cleanup subscriptions\n * Call this when navigating away from Perps screens to prevent battery drain\n */\nexport type PerpsControllerDisconnectAction = {\n type: `PerpsController:disconnect`;\n handler: PerpsController['disconnect'];\n};\n\n/**\n * Resume eligibility monitoring after onboarding completes.\n * Clears the deferred flag and triggers an immediate eligibility check\n * using the current remote feature flag state.\n */\nexport type PerpsControllerStartEligibilityMonitoringAction = {\n type: `PerpsController:startEligibilityMonitoring`;\n handler: PerpsController['startEligibilityMonitoring'];\n};\n\n/**\n * Stops geo-blocking eligibility monitoring.\n * Call this when the user disables basic functionality (e.g. useExternalServices becomes false).\n * Prevents geolocation calls until startEligibilityMonitoring() is called again.\n * Safe to call multiple times.\n */\nexport type PerpsControllerStopEligibilityMonitoringAction = {\n type: `PerpsController:stopEligibilityMonitoring`;\n handler: PerpsController['stopEligibilityMonitoring'];\n};\n\nexport type PerpsControllerRefreshEligibilityAction = {\n type: `PerpsController:refreshEligibility`;\n handler: PerpsController['refreshEligibility'];\n};\n\n/**\n * Get block explorer URL for an address or just the base URL\n *\n * @param address - Optional address to append to the base URL\n * @returns Block explorer URL\n */\nexport type PerpsControllerGetBlockExplorerUrlAction = {\n type: `PerpsController:getBlockExplorerUrl`;\n handler: PerpsController['getBlockExplorerUrl'];\n};\n\n/**\n * Check if user is first-time for the current network\n *\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsFirstTimeUserOnCurrentNetworkAction = {\n type: `PerpsController:isFirstTimeUserOnCurrentNetwork`;\n handler: PerpsController['isFirstTimeUserOnCurrentNetwork'];\n};\n\n/**\n * Mark that the user has completed the tutorial/onboarding\n * This prevents the tutorial from showing again\n */\nexport type PerpsControllerMarkTutorialCompletedAction = {\n type: `PerpsController:markTutorialCompleted`;\n handler: PerpsController['markTutorialCompleted'];\n};\n\nexport type PerpsControllerMarkFirstOrderCompletedAction = {\n type: `PerpsController:markFirstOrderCompleted`;\n handler: PerpsController['markFirstOrderCompleted'];\n};\n\n/**\n * Reset first-time user state for both networks\n * This is useful for testing the tutorial flow\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerResetFirstTimeUserStateAction = {\n type: `PerpsController:resetFirstTimeUserState`;\n handler: PerpsController['resetFirstTimeUserState'];\n};\n\n/**\n * Clear pending/bridging withdrawal and deposit requests\n * This is useful when users want to clear stuck pending indicators\n * Called by Reset Account feature in settings\n */\nexport type PerpsControllerClearPendingTransactionRequestsAction = {\n type: `PerpsController:clearPendingTransactionRequests`;\n handler: PerpsController['clearPendingTransactionRequests'];\n};\n\n/**\n * Get saved trade configuration for a market\n *\n * @param symbol - The trading pair symbol.\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetTradeConfigurationAction = {\n type: `PerpsController:getTradeConfiguration`;\n handler: PerpsController['getTradeConfiguration'];\n};\n\n/**\n * Save trade configuration for a market\n *\n * @param symbol - Market symbol\n * @param leverage - Leverage value\n */\nexport type PerpsControllerSaveTradeConfigurationAction = {\n type: `PerpsController:saveTradeConfiguration`;\n handler: PerpsController['saveTradeConfiguration'];\n};\n\n/**\n * Save pending trade configuration for a market\n * This is a temporary configuration that expires after 30 seconds.\n *\n * @param symbol - Market symbol\n * @param config - Pending trade configuration (includes optional selected payment token from Pay row)\n * @param config.amount - The amount value.\n * @param config.leverage - The leverage multiplier.\n * @param config.takeProfitPrice - The take profit price.\n * @param config.stopLossPrice - The stop loss price.\n * @param config.limitPrice - The limit price.\n * @param config.orderType - The order type.\n * @param config.reduceOnly - Whether the order may only reduce a position.\n * @param config.direction - Long or short.\n * @param config.selectedPaymentToken - The selected payment token.\n */\nexport type PerpsControllerSavePendingTradeConfigurationAction = {\n type: `PerpsController:savePendingTradeConfiguration`;\n handler: PerpsController['savePendingTradeConfiguration'];\n};\n\n/**\n * Get pending trade configuration for a market\n * Returns undefined if config doesn't exist or has expired.\n *\n * @param symbol - Market symbol\n * @returns Pending trade configuration or undefined\n */\nexport type PerpsControllerGetPendingTradeConfigurationAction = {\n type: `PerpsController:getPendingTradeConfiguration`;\n handler: PerpsController['getPendingTradeConfiguration'];\n};\n\n/**\n * Clear pending trade configuration for a market\n *\n * @param symbol - Market symbol\n */\nexport type PerpsControllerClearPendingTradeConfigurationAction = {\n type: `PerpsController:clearPendingTradeConfiguration`;\n handler: PerpsController['clearPendingTradeConfiguration'];\n};\n\n/**\n * Get saved market filter preferences\n * Handles backward compatibility with legacy string format\n *\n * @returns The saved sort option ID and direction.\n */\nexport type PerpsControllerGetMarketFilterPreferencesAction = {\n type: `PerpsController:getMarketFilterPreferences`;\n handler: PerpsController['getMarketFilterPreferences'];\n};\n\n/**\n * Save market filter preferences\n *\n * @param optionId - Sort/filter option ID\n * @param direction - Sort direction ('asc' or 'desc')\n */\nexport type PerpsControllerSaveMarketFilterPreferencesAction = {\n type: `PerpsController:saveMarketFilterPreferences`;\n handler: PerpsController['saveMarketFilterPreferences'];\n};\n\n/**\n * Get the user's max slippage tolerance in basis points.\n *\n * @returns The configured max slippage bps, or undefined if never set (callers should default to 300 bps / 3%).\n */\nexport type PerpsControllerGetMaxSlippageAction = {\n type: `PerpsController:getMaxSlippage`;\n handler: PerpsController['getMaxSlippage'];\n};\n\n/**\n * Set the user's max slippage tolerance in basis points.\n *\n * @param bps - Max slippage in basis points (e.g. 300 = 3%). Clamped to 10–1000, snapped to step of 10.\n */\nexport type PerpsControllerSetMaxSlippageAction = {\n type: `PerpsController:setMaxSlippage`;\n handler: PerpsController['setMaxSlippage'];\n};\n\n/**\n * Get market-agnostic Pro order-book display preferences.\n *\n * @returns The current order-book display preferences.\n */\nexport type PerpsControllerGetOrderBookPreferencesAction = {\n type: `PerpsController:getOrderBookPreferences`;\n handler: PerpsController['getOrderBookPreferences'];\n};\n\n/**\n * Update market-agnostic Pro order-book display preferences.\n *\n * @param patch - Partial order-book preferences to update.\n */\nexport type PerpsControllerSetOrderBookPreferencesAction = {\n type: `PerpsController:setOrderBookPreferences`;\n handler: PerpsController['setOrderBookPreferences'];\n};\n\n/**\n * Get the selected order type shared by every market.\n *\n * @returns The selected order type.\n */\nexport type PerpsControllerGetSelectedOrderTypeAction = {\n type: `PerpsController:getSelectedOrderType`;\n handler: PerpsController['getSelectedOrderType'];\n};\n\n/**\n * Set the selected order type shared by every market.\n *\n * @param orderType - The selected order type.\n */\nexport type PerpsControllerSetSelectedOrderTypeAction = {\n type: `PerpsController:setSelectedOrderType`;\n handler: PerpsController['setSelectedOrderType'];\n};\n\n/**\n * Get the number of candles shown in Lite and Pro chart viewports.\n *\n * @returns The visible candle count.\n */\nexport type PerpsControllerGetVisibleCandleCountAction = {\n type: `PerpsController:getVisibleCandleCount`;\n handler: PerpsController['getVisibleCandleCount'];\n};\n\n/**\n * Set the number of candles shown in Lite and Pro chart viewports.\n *\n * @param count - Requested visible candle count.\n */\nexport type PerpsControllerSetVisibleCandleCountAction = {\n type: `PerpsController:setVisibleCandleCount`;\n handler: PerpsController['setVisibleCandleCount'];\n};\n\n/**\n * Get the user's pro-mode layout preferences (network-independent).\n *\n * @returns The current pro-mode layout preferences.\n */\nexport type PerpsControllerGetProLayoutPreferencesAction = {\n type: `PerpsController:getProLayoutPreferences`;\n handler: PerpsController['getProLayoutPreferences'];\n};\n\n/**\n * Update the user's pro-mode layout preferences.\n *\n * Patch-style setter: only the provided fields are updated, the rest are\n * preserved. This keeps the signature stable as new layout fields are added.\n *\n * @param patch - Partial set of pro-mode layout preferences to update.\n */\nexport type PerpsControllerSetProLayoutPreferencesAction = {\n type: `PerpsController:setProLayoutPreferences`;\n handler: PerpsController['setProLayoutPreferences'];\n};\n\n/**\n * Set the Perps interface mode (lite/pro).\n *\n * @param mode - The mode to switch to.\n */\nexport type PerpsControllerSetPerpsModeAction = {\n type: `PerpsController:setPerpsMode`;\n handler: PerpsController['setPerpsMode'];\n};\n\n/**\n * Set the selected payment token for the Perps order/deposit flow.\n * Pass null or a token with description PERPS_CONSTANTS.PerpsBalanceTokenDescription to select Perps balance.\n * Only required fields (address, chainId) are stored in state; description and symbol are optional.\n *\n * @param token - The token identifier.\n */\nexport type PerpsControllerSetSelectedPaymentTokenAction = {\n type: `PerpsController:setSelectedPaymentToken`;\n handler: PerpsController['setSelectedPaymentToken'];\n};\n\n/**\n * Reset the selected payment token to Perps balance (null).\n * Call when leaving the Perps order view so the next visit defaults to Perps balance.\n */\nexport type PerpsControllerResetSelectedPaymentTokenAction = {\n type: `PerpsController:resetSelectedPaymentToken`;\n handler: PerpsController['resetSelectedPaymentToken'];\n};\n\n/**\n * Get saved order book grouping for a market\n *\n * @param symbol - Market symbol\n * @returns The saved grouping value or undefined if not set\n */\nexport type PerpsControllerGetOrderBookGroupingAction = {\n type: `PerpsController:getOrderBookGrouping`;\n handler: PerpsController['getOrderBookGrouping'];\n};\n\n/**\n * Save order book grouping for a market\n *\n * @param symbol - Market symbol\n * @param grouping - Price grouping value\n */\nexport type PerpsControllerSaveOrderBookGroupingAction = {\n type: `PerpsController:saveOrderBookGrouping`;\n handler: PerpsController['saveOrderBookGrouping'];\n};\n\n/**\n * Get the saved margin mode (Isolated/Cross) for a market on the current\n * network. Clients should still let a venue-enforced mode take priority.\n *\n * @param symbol - Market symbol\n * @returns The saved margin mode or undefined if not set\n */\nexport type PerpsControllerGetMarginModeAction = {\n type: `PerpsController:getMarginMode`;\n handler: PerpsController['getMarginMode'];\n};\n\n/**\n * Save the margin mode (Isolated/Cross) picked for a market on the current\n * network. Values other than `isolated` or `cross` are ignored.\n *\n * @param symbol - Market symbol\n * @param marginMode - Margin mode to persist\n */\nexport type PerpsControllerSaveMarginModeAction = {\n type: `PerpsController:saveMarginMode`;\n handler: PerpsController['saveMarginMode'];\n};\n\n/**\n * Toggle watchlist status for a market.\n *\n * Updates local state immediately (optimistic UI) and then syncs the new\n * watchlist to AuthenticatedUserStorageService. If the remote write fails,\n * the local state is reverted so it stays consistent with AUS.\n *\n * When the user is unauthenticated, or the active provider is not yet\n * supported by the AUS schema, the controller continues operating with\n * local-persisted state only — no error is surfaced to the caller.\n *\n * Watchlist markets are stored per network (testnet/mainnet).\n *\n * @param symbol - The trading pair symbol.\n */\nexport type PerpsControllerToggleWatchlistMarketAction = {\n type: `PerpsController:toggleWatchlistMarket`;\n handler: PerpsController['toggleWatchlistMarket'];\n};\n\n/**\n * Check if a market is in the watchlist on the current network\n *\n * @param symbol - The trading pair symbol.\n * @returns True if the condition is met.\n */\nexport type PerpsControllerIsWatchlistMarketAction = {\n type: `PerpsController:isWatchlistMarket`;\n handler: PerpsController['isWatchlistMarket'];\n};\n\n/**\n * Get all watchlist markets for the current network\n *\n * @returns The resulting string value.\n */\nexport type PerpsControllerGetWatchlistMarketsAction = {\n type: `PerpsController:getWatchlistMarkets`;\n handler: PerpsController['getWatchlistMarkets'];\n};\n\n/**\n * Record that the user viewed a market.\n *\n * The symbol is prepended to the per-network recently-viewed list (newest-first).\n * Any existing entry for the same symbol is removed first so there are no\n * duplicates. The list is then capped at PERPS_CONSTANTS.RecentlyViewedMarketsLimit.\n *\n * @param symbol - The trading pair symbol (e.g. 'BTC', 'ETH', 'xyz:TSLA').\n */\nexport type PerpsControllerRecordMarketViewedAction = {\n type: `PerpsController:recordMarketViewed`;\n handler: PerpsController['recordMarketViewed'];\n};\n\n/**\n * Get recently viewed markets for the current network.\n *\n * Returns up to PERPS_CONSTANTS.RecentlyViewedMarketsLimit symbols, ordered\n * newest-first, filtered to entries within the last\n * PERPS_CONSTANTS.RecentlyViewedMarketsTtlMs (24 hours). Returns an empty\n * array when no qualifying entries exist.\n *\n * @returns Ordered array of market symbols.\n */\nexport type PerpsControllerGetRecentlyViewedMarketsAction = {\n type: `PerpsController:getRecentlyViewedMarkets`;\n handler: PerpsController['getRecentlyViewedMarkets'];\n};\n\n/**\n * Check if the controller is currently reinitializing\n *\n * @returns true if providers are being reinitialized\n */\nexport type PerpsControllerIsCurrentlyReinitializingAction = {\n type: `PerpsController:isCurrentlyReinitializing`;\n handler: PerpsController['isCurrentlyReinitializing'];\n};\n\n/**\n * Union of all PerpsController action types.\n */\nexport type PerpsControllerMethodActions =\n | PerpsControllerGetCachedMarketDataForActiveProviderAction\n | PerpsControllerGetCachedUserDataForActiveProviderAction\n | PerpsControllerGetUserDataSnapshotAction\n | PerpsControllerInitAction\n | PerpsControllerGetActiveProviderAction\n | PerpsControllerGetActiveProviderOrNullAction\n | PerpsControllerGetOrderCapabilitiesAction\n | PerpsControllerGetMarginModeLockAction\n | PerpsControllerGetScalePriceLadderAction\n | PerpsControllerPlaceOrderAction\n | PerpsControllerEditOrderAction\n | PerpsControllerCancelOrderAction\n | PerpsControllerGetTwapOrdersAction\n | PerpsControllerGetChaseOrdersAction\n | PerpsControllerSuspendChaseOrdersAction\n | PerpsControllerCancelOrdersAction\n | PerpsControllerClosePositionAction\n | PerpsControllerClosePositionsAction\n | PerpsControllerUpdatePositionTPSLAction\n | PerpsControllerUpdateMarginAction\n | PerpsControllerFlipPositionAction\n | PerpsControllerDepositWithConfirmationAction\n | PerpsControllerDepositWithOrderAction\n | PerpsControllerClearDepositResultAction\n | PerpsControllerClearWithdrawResultAction\n | PerpsControllerUpdateWithdrawalStatusAction\n | PerpsControllerCompleteWithdrawalFromHistoryAction\n | PerpsControllerUpdateWithdrawalProgressAction\n | PerpsControllerGetWithdrawalProgressAction\n | PerpsControllerWithdrawAction\n | PerpsControllerGetPositionsAction\n | PerpsControllerGetOrderFillsAction\n | PerpsControllerGetPendingManualRecoveriesAction\n | PerpsControllerGetRecoveredDispatchesAction\n | PerpsControllerAcknowledgeRecoveredDispatchAction\n | PerpsControllerGetOrdersAction\n | PerpsControllerGetOpenOrdersAction\n | PerpsControllerGetFundingAction\n | PerpsControllerGetAccountStateAction\n | PerpsControllerGetHistoricalPortfolioAction\n | PerpsControllerGetMarketsAction\n | PerpsControllerGetMarketDataWithPricesAction\n | PerpsControllerStartMarketDataPreloadAction\n | PerpsControllerStopMarketDataPreloadAction\n | PerpsControllerGetAvailableDexsAction\n | PerpsControllerFetchHistoricalCandlesAction\n | PerpsControllerCalculateLiquidationPriceAction\n | PerpsControllerPreviewPositionModifyAction\n | PerpsControllerCalculateMaintenanceMarginAction\n | PerpsControllerGetMaxLeverageAction\n | PerpsControllerValidateOrderAction\n | PerpsControllerValidateClosePositionAction\n | PerpsControllerValidateWithdrawalAction\n | PerpsControllerGetWithdrawalRoutesAction\n | PerpsControllerSetAttributionContextAction\n | PerpsControllerGetAttributionContextAction\n | PerpsControllerClearAttributionContextAction\n | PerpsControllerToggleTestnetAction\n | PerpsControllerSwitchProviderAction\n | PerpsControllerGetCurrentNetworkAction\n | PerpsControllerGetMarketCategoriesAction\n | PerpsControllerGetWebSocketConnectionStateAction\n | PerpsControllerSubscribeToConnectionStateAction\n | PerpsControllerReconnectAction\n | PerpsControllerSubscribeToPricesAction\n | PerpsControllerSubscribeToPositionsAction\n | PerpsControllerSubscribeToOrderFillsAction\n | PerpsControllerSubscribeToTwapOrdersAction\n | PerpsControllerSubscribeToOrdersAction\n | PerpsControllerSubscribeToAccountAction\n | PerpsControllerSubscribeToOrderBookAction\n | PerpsControllerSubscribeToCandlesAction\n | PerpsControllerSubscribeToOICapsAction\n | PerpsControllerSetLiveDataConfigAction\n | PerpsControllerCalculateFeesAction\n | PerpsControllerSetAgentSignerAction\n | PerpsControllerClearAgentSignersAction\n | PerpsControllerPrepareTradingWalletAction\n | PerpsControllerApproveSubscriptionBuilderFeeAction\n | PerpsControllerInvalidateSubscriptionBenefitsAction\n | PerpsControllerDisconnectAction\n | PerpsControllerStartEligibilityMonitoringAction\n | PerpsControllerStopEligibilityMonitoringAction\n | PerpsControllerRefreshEligibilityAction\n | PerpsControllerGetBlockExplorerUrlAction\n | PerpsControllerIsFirstTimeUserOnCurrentNetworkAction\n | PerpsControllerMarkTutorialCompletedAction\n | PerpsControllerMarkFirstOrderCompletedAction\n | PerpsControllerResetFirstTimeUserStateAction\n | PerpsControllerClearPendingTransactionRequestsAction\n | PerpsControllerGetTradeConfigurationAction\n | PerpsControllerSaveTradeConfigurationAction\n | PerpsControllerSavePendingTradeConfigurationAction\n | PerpsControllerGetPendingTradeConfigurationAction\n | PerpsControllerClearPendingTradeConfigurationAction\n | PerpsControllerGetMarketFilterPreferencesAction\n | PerpsControllerSaveMarketFilterPreferencesAction\n | PerpsControllerGetMaxSlippageAction\n | PerpsControllerSetMaxSlippageAction\n | PerpsControllerGetOrderBookPreferencesAction\n | PerpsControllerSetOrderBookPreferencesAction\n | PerpsControllerGetSelectedOrderTypeAction\n | PerpsControllerSetSelectedOrderTypeAction\n | PerpsControllerGetVisibleCandleCountAction\n | PerpsControllerSetVisibleCandleCountAction\n | PerpsControllerGetProLayoutPreferencesAction\n | PerpsControllerSetProLayoutPreferencesAction\n | PerpsControllerSetPerpsModeAction\n | PerpsControllerSetSelectedPaymentTokenAction\n | PerpsControllerResetSelectedPaymentTokenAction\n | PerpsControllerGetOrderBookGroupingAction\n | PerpsControllerSaveOrderBookGroupingAction\n | PerpsControllerGetMarginModeAction\n | PerpsControllerSaveMarginModeAction\n | PerpsControllerToggleWatchlistMarketAction\n | PerpsControllerIsWatchlistMarketAction\n | PerpsControllerGetWatchlistMarketsAction\n | PerpsControllerRecordMarketViewedAction\n | PerpsControllerGetRecentlyViewedMarketsAction\n | PerpsControllerIsCurrentlyReinitializingAction;\n"]}
@@ -1028,6 +1028,10 @@ export declare class PerpsController extends BaseController<'PerpsController', P
1028
1028
  * - `NO_ACCOUNT_SELECTED` when no account is selected;
1029
1029
  * - `PROVIDER_LIFECYCLE_STALE` when the provider disconnected or the account
1030
1030
  * changed during setup;
1031
+ * - the venue's message when HyperLiquid refused the builder fee approval
1032
+ * for a reason signing again cannot fix (for example "Builder has
1033
+ * insufficient balance to be approved"); it is not logged, and the
1034
+ * approval is not asked for again until the provider disconnects;
1031
1035
  * - otherwise the message of the error that stopped setup, which is logged.
1032
1036
  * @throws Like the other provider-backed actions, `CLIENT_NOT_INITIALIZED`
1033
1037
  * before `init`, and `CLIENT_REINITIALIZING` or `PROVIDER_NOT_AVAILABLE`
@@ -1 +1 @@
1
- {"version":3,"file":"PerpsController.d.ts","sourceRoot":"","sources":["../src/PerpsController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PerpsController.d.ts","sourceRoot":"","sources":["../src/PerpsController.ts"],"names":[],"mappings":"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"}