@owney/sdk 0.7.8 → 0.7.10-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -21,6 +21,16 @@ interface OwneySDKConfig {
21
21
  * `createOwneySIWX` for apps that don't use the AppKit SIWX modal.
22
22
  */
23
23
  referralSource?: string;
24
+ /**
25
+ * Optional override for the SurfLiquid API base URL (defaults to the
26
+ * SurfLiquid SDK's production URL). SurfLiquid auth is an httpOnly
27
+ * SameSite=None cookie set by api.surfliquid.com — a THIRD-PARTY cookie from
28
+ * the embedding app's origin, which WebKit (all iOS browsers) discards, so
29
+ * every authenticated SurfLiquid call 401s on iOS. Point this at a
30
+ * same-origin reverse proxy (e.g. "/api/surf") so the session cookie becomes
31
+ * first-party. Relative paths resolve against the page origin.
32
+ */
33
+ surfliquidApiBaseUrl?: string;
24
34
  /**
25
35
  * Turn on the SDK's debug logging (default false). Traces the decisions that
26
36
  * are otherwise invisible — notably how the organization's agent policy is
@@ -54,7 +64,7 @@ type OwneySupportedChainId = (typeof SUPPORTED_CHAIN_IDS)[number];
54
64
  type OwneySupportedChains = (typeof SUPPORTED_CHAINS)[number];
55
65
  type OwneySupportedTokens = (typeof SUPPORTED_TOKENS)[number];
56
66
 
57
- type AgentId = "zyfai" | "sail";
67
+ type AgentId = "zyfai" | "sail" | "surfliquid";
58
68
  type Asset = string;
59
69
  type AgentSupportedAsset = {
60
70
  readonly symbol: string;
@@ -161,6 +171,12 @@ interface OwneyDepositResult {
161
171
  }
162
172
  interface OwneyMultiDepositResult {
163
173
  agentResults: Record<string, OwneyDepositResult>;
174
+ /**
175
+ * Per-agent failure messages for agents that errored during a diversified
176
+ * deposit. Present only when at least one (but not all) agents failed —
177
+ * the deposit is partial, not total. Omitted when every agent succeeded.
178
+ */
179
+ agentErrors?: Record<string, string>;
164
180
  }
165
181
  interface AgentWithdrawResult {
166
182
  txHash?: string;
@@ -432,6 +448,7 @@ declare class OwneySDK {
432
448
  private zyfaiRpcUrls?;
433
449
  private routingApiBaseUrl?;
434
450
  private referralSource?;
451
+ private surfliquidApiBaseUrl?;
435
452
  private cachedSponsoredCallback;
436
453
  private cachedWethSponsoredCallback;
437
454
  private paymasterServiceUrl?;
@@ -564,6 +581,17 @@ declare class OwneySDK {
564
581
  private hasExistingBalance;
565
582
  private validateAssetSupport;
566
583
  private getEligibleAgents;
584
+ /**
585
+ * Agent ids the routing API provisioned for this org that support the given
586
+ * chain + asset, ordered by preference ({@link AGENT_ELIGIBILITY_ORDER},
587
+ * surfliquid first). Returns `[]` when the org has no compatible agent — never
588
+ * throws on an empty org. Loads agent keys on first call (apiKey only, no
589
+ * wallet), so the UI can resolve which agent to use before the user connects.
590
+ *
591
+ * This is the source of truth for agent availability: an agent appears here
592
+ * iff the routing API returned its key. No per-app feature flags.
593
+ */
594
+ getEligibleAgentIds(chainId: number, asset: string): Promise<AgentId[]>;
567
595
  /**
568
596
  * Withdraw funds from a specific agent, or all agents that support the active chain+asset if agentId is omitted.
569
597
  * Validates that the asset is supported by the target agent(s) on the active chain.
@@ -664,7 +692,7 @@ declare class OwneySDK {
664
692
  getAllocationApy({ agentId, }?: AllocationApyOptions): Promise<OwneyAllocationApy>;
665
693
  }
666
694
 
667
- type OwneyErrorCode = "NOT_CONNECTED" | "NO_ACTIVE_CHAIN" | "WALLET_NO_ACCOUNTS" | "WALLET_ADDRESS_REQUIRED" | "WALLET_NOT_DEPLOYED" | "AGENT_NOT_FOUND" | "AGENT_CHAIN_INCOMPATIBLE" | "AGENT_EMPTY_LIST" | "AGENT_DISABLED" | "CHAIN_UNSUPPORTED" | "CHAIN_NO_COMPATIBLE_AGENTS" | "CHAIN_MISMATCH" | "ASSET_UNSUPPORTED" | "ASSET_NO_COMPATIBLE_AGENTS" | "DEPOSIT_AMOUNT_BELOW_MINIMUM" | "DEPOSIT_CALLBACK_REQUIRED" | "DEPOSIT_CALLBACK_INVALID" | "DEPOSIT_NO_PERMITTED_TOKENS" | "DEPOSIT_INSUFFICIENT_BALANCE" | "WITHDRAW_NO_PERMITTED_TOKENS" | "WITHDRAW_INSUFFICIENT_BALANCE" | "WITHDRAW_ALL_FAILED" | "WITHDRAW_PARTIAL_FAILURE" | "WITHDRAW_FAILED" | "API_ROUTING_ERROR" | "API_ROUTING_FAILED" | "API_SAIL_ERROR" | "API_SAIL_TIMEOUT" | "API_NO_AGENTS" | "SPONSOR_REQUEST_FAILED" | "PERMIT2_APPROVAL_REQUIRED" | "SPONSORED_CALLS_UNSUPPORTED" | "SPONSORED_CALLS_NO_ID" | "SPONSORED_CALLS_NO_RECEIPT" | "BALANCE_ALL_FAILED" | "ALLOCATION_ALL_FAILED" | "VALIDATION_INVALID_DAYS";
695
+ type OwneyErrorCode = "NOT_CONNECTED" | "NO_ACTIVE_CHAIN" | "WALLET_NO_ACCOUNTS" | "WALLET_ADDRESS_REQUIRED" | "WALLET_NOT_DEPLOYED" | "AGENT_NOT_FOUND" | "AGENT_CHAIN_INCOMPATIBLE" | "AGENT_EMPTY_LIST" | "AGENT_DISABLED" | "CHAIN_UNSUPPORTED" | "CHAIN_NO_COMPATIBLE_AGENTS" | "CHAIN_MISMATCH" | "ASSET_UNSUPPORTED" | "ASSET_NO_COMPATIBLE_AGENTS" | "DEPOSIT_AMOUNT_BELOW_MINIMUM" | "DEPOSIT_CALLBACK_REQUIRED" | "DEPOSIT_CALLBACK_INVALID" | "DEPOSIT_NO_PERMITTED_TOKENS" | "DEPOSIT_ALL_FAILED" | "DEPOSIT_INSUFFICIENT_BALANCE" | "WITHDRAW_NO_PERMITTED_TOKENS" | "WITHDRAW_INSUFFICIENT_BALANCE" | "WITHDRAW_ALL_FAILED" | "WITHDRAW_PARTIAL_FAILURE" | "WITHDRAW_FAILED" | "API_ROUTING_ERROR" | "API_ROUTING_FAILED" | "API_SAIL_ERROR" | "API_SAIL_TIMEOUT" | "API_NO_AGENTS" | "SPONSOR_REQUEST_FAILED" | "PERMIT2_APPROVAL_REQUIRED" | "SPONSORED_CALLS_UNSUPPORTED" | "SPONSORED_CALLS_NO_ID" | "SPONSORED_CALLS_NO_RECEIPT" | "BALANCE_ALL_FAILED" | "ALLOCATION_ALL_FAILED" | "VALIDATION_INVALID_DAYS";
668
696
  declare class OwneyError extends Error {
669
697
  readonly code: OwneyErrorCode;
670
698
  readonly details?: Record<string, unknown>;
package/dist/index.d.ts CHANGED
@@ -21,6 +21,16 @@ interface OwneySDKConfig {
21
21
  * `createOwneySIWX` for apps that don't use the AppKit SIWX modal.
22
22
  */
23
23
  referralSource?: string;
24
+ /**
25
+ * Optional override for the SurfLiquid API base URL (defaults to the
26
+ * SurfLiquid SDK's production URL). SurfLiquid auth is an httpOnly
27
+ * SameSite=None cookie set by api.surfliquid.com — a THIRD-PARTY cookie from
28
+ * the embedding app's origin, which WebKit (all iOS browsers) discards, so
29
+ * every authenticated SurfLiquid call 401s on iOS. Point this at a
30
+ * same-origin reverse proxy (e.g. "/api/surf") so the session cookie becomes
31
+ * first-party. Relative paths resolve against the page origin.
32
+ */
33
+ surfliquidApiBaseUrl?: string;
24
34
  /**
25
35
  * Turn on the SDK's debug logging (default false). Traces the decisions that
26
36
  * are otherwise invisible — notably how the organization's agent policy is
@@ -54,7 +64,7 @@ type OwneySupportedChainId = (typeof SUPPORTED_CHAIN_IDS)[number];
54
64
  type OwneySupportedChains = (typeof SUPPORTED_CHAINS)[number];
55
65
  type OwneySupportedTokens = (typeof SUPPORTED_TOKENS)[number];
56
66
 
57
- type AgentId = "zyfai" | "sail";
67
+ type AgentId = "zyfai" | "sail" | "surfliquid";
58
68
  type Asset = string;
59
69
  type AgentSupportedAsset = {
60
70
  readonly symbol: string;
@@ -161,6 +171,12 @@ interface OwneyDepositResult {
161
171
  }
162
172
  interface OwneyMultiDepositResult {
163
173
  agentResults: Record<string, OwneyDepositResult>;
174
+ /**
175
+ * Per-agent failure messages for agents that errored during a diversified
176
+ * deposit. Present only when at least one (but not all) agents failed —
177
+ * the deposit is partial, not total. Omitted when every agent succeeded.
178
+ */
179
+ agentErrors?: Record<string, string>;
164
180
  }
165
181
  interface AgentWithdrawResult {
166
182
  txHash?: string;
@@ -432,6 +448,7 @@ declare class OwneySDK {
432
448
  private zyfaiRpcUrls?;
433
449
  private routingApiBaseUrl?;
434
450
  private referralSource?;
451
+ private surfliquidApiBaseUrl?;
435
452
  private cachedSponsoredCallback;
436
453
  private cachedWethSponsoredCallback;
437
454
  private paymasterServiceUrl?;
@@ -564,6 +581,17 @@ declare class OwneySDK {
564
581
  private hasExistingBalance;
565
582
  private validateAssetSupport;
566
583
  private getEligibleAgents;
584
+ /**
585
+ * Agent ids the routing API provisioned for this org that support the given
586
+ * chain + asset, ordered by preference ({@link AGENT_ELIGIBILITY_ORDER},
587
+ * surfliquid first). Returns `[]` when the org has no compatible agent — never
588
+ * throws on an empty org. Loads agent keys on first call (apiKey only, no
589
+ * wallet), so the UI can resolve which agent to use before the user connects.
590
+ *
591
+ * This is the source of truth for agent availability: an agent appears here
592
+ * iff the routing API returned its key. No per-app feature flags.
593
+ */
594
+ getEligibleAgentIds(chainId: number, asset: string): Promise<AgentId[]>;
567
595
  /**
568
596
  * Withdraw funds from a specific agent, or all agents that support the active chain+asset if agentId is omitted.
569
597
  * Validates that the asset is supported by the target agent(s) on the active chain.
@@ -664,7 +692,7 @@ declare class OwneySDK {
664
692
  getAllocationApy({ agentId, }?: AllocationApyOptions): Promise<OwneyAllocationApy>;
665
693
  }
666
694
 
667
- type OwneyErrorCode = "NOT_CONNECTED" | "NO_ACTIVE_CHAIN" | "WALLET_NO_ACCOUNTS" | "WALLET_ADDRESS_REQUIRED" | "WALLET_NOT_DEPLOYED" | "AGENT_NOT_FOUND" | "AGENT_CHAIN_INCOMPATIBLE" | "AGENT_EMPTY_LIST" | "AGENT_DISABLED" | "CHAIN_UNSUPPORTED" | "CHAIN_NO_COMPATIBLE_AGENTS" | "CHAIN_MISMATCH" | "ASSET_UNSUPPORTED" | "ASSET_NO_COMPATIBLE_AGENTS" | "DEPOSIT_AMOUNT_BELOW_MINIMUM" | "DEPOSIT_CALLBACK_REQUIRED" | "DEPOSIT_CALLBACK_INVALID" | "DEPOSIT_NO_PERMITTED_TOKENS" | "DEPOSIT_INSUFFICIENT_BALANCE" | "WITHDRAW_NO_PERMITTED_TOKENS" | "WITHDRAW_INSUFFICIENT_BALANCE" | "WITHDRAW_ALL_FAILED" | "WITHDRAW_PARTIAL_FAILURE" | "WITHDRAW_FAILED" | "API_ROUTING_ERROR" | "API_ROUTING_FAILED" | "API_SAIL_ERROR" | "API_SAIL_TIMEOUT" | "API_NO_AGENTS" | "SPONSOR_REQUEST_FAILED" | "PERMIT2_APPROVAL_REQUIRED" | "SPONSORED_CALLS_UNSUPPORTED" | "SPONSORED_CALLS_NO_ID" | "SPONSORED_CALLS_NO_RECEIPT" | "BALANCE_ALL_FAILED" | "ALLOCATION_ALL_FAILED" | "VALIDATION_INVALID_DAYS";
695
+ type OwneyErrorCode = "NOT_CONNECTED" | "NO_ACTIVE_CHAIN" | "WALLET_NO_ACCOUNTS" | "WALLET_ADDRESS_REQUIRED" | "WALLET_NOT_DEPLOYED" | "AGENT_NOT_FOUND" | "AGENT_CHAIN_INCOMPATIBLE" | "AGENT_EMPTY_LIST" | "AGENT_DISABLED" | "CHAIN_UNSUPPORTED" | "CHAIN_NO_COMPATIBLE_AGENTS" | "CHAIN_MISMATCH" | "ASSET_UNSUPPORTED" | "ASSET_NO_COMPATIBLE_AGENTS" | "DEPOSIT_AMOUNT_BELOW_MINIMUM" | "DEPOSIT_CALLBACK_REQUIRED" | "DEPOSIT_CALLBACK_INVALID" | "DEPOSIT_NO_PERMITTED_TOKENS" | "DEPOSIT_ALL_FAILED" | "DEPOSIT_INSUFFICIENT_BALANCE" | "WITHDRAW_NO_PERMITTED_TOKENS" | "WITHDRAW_INSUFFICIENT_BALANCE" | "WITHDRAW_ALL_FAILED" | "WITHDRAW_PARTIAL_FAILURE" | "WITHDRAW_FAILED" | "API_ROUTING_ERROR" | "API_ROUTING_FAILED" | "API_SAIL_ERROR" | "API_SAIL_TIMEOUT" | "API_NO_AGENTS" | "SPONSOR_REQUEST_FAILED" | "PERMIT2_APPROVAL_REQUIRED" | "SPONSORED_CALLS_UNSUPPORTED" | "SPONSORED_CALLS_NO_ID" | "SPONSORED_CALLS_NO_RECEIPT" | "BALANCE_ALL_FAILED" | "ALLOCATION_ALL_FAILED" | "VALIDATION_INVALID_DAYS";
668
696
  declare class OwneyError extends Error {
669
697
  readonly code: OwneyErrorCode;
670
698
  readonly details?: Record<string, unknown>;