@gauntlet-xyz/sdk 3.0.1 → 3.1.1

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 (117) hide show
  1. package/README.md +34 -3
  2. package/dist/api/activity.d.ts +3 -1
  3. package/dist/api/activity.d.ts.map +1 -1
  4. package/dist/api/activityRows.d.ts +11 -0
  5. package/dist/api/activityRows.d.ts.map +1 -0
  6. package/dist/api/caip.d.ts.map +1 -1
  7. package/dist/api/client.d.ts.map +1 -1
  8. package/dist/api/decimal.d.ts.map +1 -1
  9. package/dist/api/http.d.ts.map +1 -1
  10. package/dist/api/index.js +7 -8
  11. package/dist/api/positionHistory.d.ts.map +1 -1
  12. package/dist/attribution/index.d.ts +5 -2
  13. package/dist/attribution/index.d.ts.map +1 -1
  14. package/dist/{chunk-HC2BS7MK.js → chunk-JJOLVL5V.js} +113 -6
  15. package/dist/chunk-JJOLVL5V.js.map +7 -0
  16. package/dist/{chunk-S2TTA45N.js → chunk-JRSNLXFY.js} +2 -2
  17. package/dist/{chunk-SU6JAKIA.js → chunk-MEKISE2T.js} +131 -47
  18. package/dist/chunk-MEKISE2T.js.map +7 -0
  19. package/dist/{chunk-7TA2OJUK.js → chunk-YQXTLIJA.js} +209 -96
  20. package/dist/chunk-YQXTLIJA.js.map +7 -0
  21. package/dist/cjs/api/activity.d.ts +3 -1
  22. package/dist/cjs/api/activity.d.ts.map +1 -1
  23. package/dist/cjs/api/activity.js +14 -12
  24. package/dist/cjs/api/activity.js.map +2 -2
  25. package/dist/cjs/api/activityRows.d.ts +11 -0
  26. package/dist/cjs/api/activityRows.d.ts.map +1 -0
  27. package/dist/cjs/api/activityRows.js +139 -0
  28. package/dist/cjs/api/activityRows.js.map +7 -0
  29. package/dist/cjs/api/caip.d.ts.map +1 -1
  30. package/dist/cjs/api/caip.js +3 -1
  31. package/dist/cjs/api/caip.js.map +2 -2
  32. package/dist/cjs/api/client.d.ts.map +1 -1
  33. package/dist/cjs/api/client.js +29 -1
  34. package/dist/cjs/api/client.js.map +2 -2
  35. package/dist/cjs/api/decimal.d.ts.map +1 -1
  36. package/dist/cjs/api/decimal.js +1 -0
  37. package/dist/cjs/api/decimal.js.map +2 -2
  38. package/dist/cjs/api/http.d.ts.map +1 -1
  39. package/dist/cjs/api/http.js +1 -0
  40. package/dist/cjs/api/http.js.map +2 -2
  41. package/dist/cjs/api/positionHistory.d.ts.map +1 -1
  42. package/dist/cjs/api/positionHistory.js +17 -4
  43. package/dist/cjs/api/positionHistory.js.map +2 -2
  44. package/dist/cjs/attribution/index.d.ts +5 -2
  45. package/dist/cjs/attribution/index.d.ts.map +1 -1
  46. package/dist/cjs/attribution/index.js +3 -1
  47. package/dist/cjs/attribution/index.js.map +2 -2
  48. package/dist/cjs/evm/adapters/aera.d.ts.map +1 -1
  49. package/dist/cjs/evm/adapters/aera.js +16 -7
  50. package/dist/cjs/evm/adapters/aera.js.map +2 -2
  51. package/dist/cjs/evm/adapters/types.d.ts +1 -0
  52. package/dist/cjs/evm/adapters/types.d.ts.map +1 -1
  53. package/dist/cjs/evm/adapters/types.js.map +1 -1
  54. package/dist/cjs/evm/aeraContracts.d.ts.map +1 -1
  55. package/dist/cjs/evm/aeraContracts.js +21 -11
  56. package/dist/cjs/evm/aeraContracts.js.map +2 -2
  57. package/dist/cjs/evm/deposit.d.ts +3 -2
  58. package/dist/cjs/evm/deposit.d.ts.map +1 -1
  59. package/dist/cjs/evm/deposit.js +40 -10
  60. package/dist/cjs/evm/deposit.js.map +2 -2
  61. package/dist/cjs/evm/depositQuote.d.ts.map +1 -1
  62. package/dist/cjs/evm/depositQuote.js +1 -0
  63. package/dist/cjs/evm/depositQuote.js.map +2 -2
  64. package/dist/cjs/evm/depositReceiverApproval.d.ts.map +1 -1
  65. package/dist/cjs/evm/depositReceiverApproval.js +14 -9
  66. package/dist/cjs/evm/depositReceiverApproval.js.map +2 -2
  67. package/dist/cjs/evm/userCurrentBalance.d.ts +15 -1
  68. package/dist/cjs/evm/userCurrentBalance.d.ts.map +1 -1
  69. package/dist/cjs/evm/userCurrentBalance.js +94 -51
  70. package/dist/cjs/evm/userCurrentBalance.js.map +2 -2
  71. package/dist/cjs/evm/withdraw.d.ts +2 -0
  72. package/dist/cjs/evm/withdraw.d.ts.map +1 -1
  73. package/dist/cjs/evm/withdraw.js +14 -1
  74. package/dist/cjs/evm/withdraw.js.map +2 -2
  75. package/dist/cjs/evm/withdrawQuote.d.ts.map +1 -1
  76. package/dist/cjs/evm/withdrawQuote.js +1 -0
  77. package/dist/cjs/evm/withdrawQuote.js.map +2 -2
  78. package/dist/evm/adapters/aera.d.ts.map +1 -1
  79. package/dist/evm/adapters/types.d.ts +1 -0
  80. package/dist/evm/adapters/types.d.ts.map +1 -1
  81. package/dist/evm/aeraContracts.d.ts.map +1 -1
  82. package/dist/evm/deposit.d.ts +3 -2
  83. package/dist/evm/deposit.d.ts.map +1 -1
  84. package/dist/evm/depositQuote.d.ts.map +1 -1
  85. package/dist/evm/depositReceiverApproval.d.ts.map +1 -1
  86. package/dist/evm/index.js +6 -8
  87. package/dist/evm/userCurrentBalance.d.ts +15 -1
  88. package/dist/evm/userCurrentBalance.d.ts.map +1 -1
  89. package/dist/evm/withdraw.d.ts +2 -0
  90. package/dist/evm/withdraw.d.ts.map +1 -1
  91. package/dist/evm/withdrawQuote.d.ts.map +1 -1
  92. package/dist/index.js +11 -13
  93. package/dist/privy/index.js +2 -2
  94. package/package.json +1 -1
  95. package/src/api/activity.ts +18 -15
  96. package/src/api/activityRows.ts +143 -0
  97. package/src/api/caip.ts +3 -1
  98. package/src/api/client.ts +36 -1
  99. package/src/api/decimal.ts +1 -0
  100. package/src/api/http.ts +1 -0
  101. package/src/api/positionHistory.ts +20 -5
  102. package/src/attribution/index.ts +6 -2
  103. package/src/evm/adapters/aera.ts +26 -8
  104. package/src/evm/adapters/types.ts +1 -0
  105. package/src/evm/aeraContracts.ts +29 -14
  106. package/src/evm/deposit.ts +43 -12
  107. package/src/evm/depositQuote.ts +1 -0
  108. package/src/evm/depositReceiverApproval.ts +14 -9
  109. package/src/evm/userCurrentBalance.ts +144 -60
  110. package/src/evm/withdraw.ts +20 -1
  111. package/src/evm/withdrawQuote.ts +1 -0
  112. package/dist/chunk-7TA2OJUK.js.map +0 -7
  113. package/dist/chunk-HC2BS7MK.js.map +0 -7
  114. package/dist/chunk-STIV2CC4.js +0 -57
  115. package/dist/chunk-STIV2CC4.js.map +0 -7
  116. package/dist/chunk-SU6JAKIA.js.map +0 -7
  117. /package/dist/{chunk-S2TTA45N.js.map → chunk-JRSNLXFY.js.map} +0 -0
package/README.md CHANGED
@@ -86,7 +86,7 @@ let steps = await getDepositTx(client, {
86
86
  minUnitsOut: quote.minUnitsOut,
87
87
  });
88
88
 
89
- if (steps[0]?.tx.type === 'approve') {
89
+ while (steps[0]?.tx.type === 'approve') {
90
90
  await sendAndConfirm(steps[0]);
91
91
  quote = await getSyncDepositQuote(client, request);
92
92
  steps = await getDepositTx(client, {
@@ -95,6 +95,9 @@ if (steps[0]?.tx.type === 'approve') {
95
95
  minUnitsOut: quote.minUnitsOut,
96
96
  });
97
97
  }
98
+ if (steps[0]?.tx.type !== 'deposit') {
99
+ throw new Error('The transaction builder returned no deposit step.');
100
+ }
98
101
  await sendAndConfirm(steps[0]);
99
102
  ```
100
103
 
@@ -102,7 +105,8 @@ await sendAndConfirm(steps[0]);
102
105
  `slippageBps`. `slippageBps` is the basis-point tolerance used to derive `minUnitsOut`; `feeBps` is
103
106
  the Instant Supply fee applied to the deposited token amount; `numeraireOut` is the post-fee deposit
104
107
  amount converted to the vault's numeraire, for display. The contract enforces `minUnitsOut`. Requote
105
- after approval so the deposit signature uses the latest reviewed minimum.
108
+ after each approval so the deposit signature uses the latest reviewed minimum. Some tokens require
109
+ an approval of zero before the final approval.
106
110
 
107
111
  Use `getSyncDepositRate` to read the live Instant Supply fee without an amount, e.g. to show a fee
108
112
  caption before the user has typed a deposit amount:
@@ -199,6 +203,26 @@ only the primary deployment; that response also includes its native-token TVL.
199
203
 
200
204
  Vault ids on the API are CAIP-10 (`"{chainId}:{address}"`); convert to and from manifest vault ids with `apiVaultIdFromVaultId` / `vaultIdFromApiVaultId`. Monetary values are human-unit decimal strings; convert exactly with `decimalToBigInt` / `sharesToBigInt` (throws instead of rounding).
201
205
 
206
+ ### Transaction and balance safety
207
+
208
+ Prepared transactions include `chainId` in both `payload` and `tx`.
209
+ Check the account and chain before signing each step.
210
+ Rebuild the steps after a wallet account or chain change.
211
+
212
+ For exact-token withdrawals derived from `shareSafeTokensOut`, pass `maxShares: quote.shares` to `getWithdrawTx`.
213
+ This cap remains effective after a rate change.
214
+ The contract rejects a withdrawal that needs more shares.
215
+
216
+ `getUserCurrentBalance` reads balances, conversions, and request state at one block.
217
+ It filters pending requests by the selected token.
218
+ A multi-asset deployment requires `assetSymbol`, as `getDepositTx` does.
219
+ The default scan covers the configured request lifetime, with a minimum of three days.
220
+ Use `fromBlock` to include older requests, including expired requests that still hold escrow.
221
+ A vault with several deployments also requires `chainId` with `fromBlock`.
222
+ Each result includes `blockNumber` and `fromBlock` to identify its scope.
223
+ `pendingWithdraw` reports the gross current token value of escrowed shares.
224
+ It does not promise the settlement payout after multipliers or solver tips.
225
+
202
226
  ### Activity flows
203
227
 
204
228
  `getActivityFlows` stitches the raw activity log into lifecycle-aware flows — Aera async requests are paired with their settlement or refund via `request_hash`, replacing client-side event-log scanning:
@@ -210,9 +234,16 @@ const flows = await getActivityFlows(client.api, wallet);
210
234
  // [{ kind: 'deposit', status: 'pending', requestedAt, settledAt, assets, shares, txHashes, ... }]
211
235
 
212
236
  // After submitting a requestDeposit / requestRedeem transaction:
213
- const settled = await waitForRequestSettlement(client.api, wallet, requestHash);
237
+ const settled = await waitForRequestSettlement(client.api, wallet, requestHash, { requestTxHash });
214
238
  ```
215
239
 
240
+ Settlement polling requires `requestTxHash`, the transaction hash of the submitted request.
241
+ This separates a new request from an earlier request with the same correlation hash.
242
+ Activity helpers reject incomplete pages, rows out of timestamp order, repeated cursors, and invalid lifecycle deltas.
243
+ Rows carry no event index, so identical rows in one transaction stay separate rows.
244
+ Position history rejects mixed asset denominations and unmatched escrow.
245
+ The API client rejects redirects to prevent credential forwarding.
246
+
216
247
  ### Position history
217
248
 
218
249
  `getPositionHistory` replays a wallet's indexed events into a chronological position timeline — running share balance, escrowed pending amounts, and net asset flows:
@@ -54,6 +54,8 @@ export interface ActivityFlowsOptions extends Pick<ActivityOptions, 'vaultId' |
54
54
  */
55
55
  export declare function getActivityFlows(api: GauntletApi, walletAddress: string, options?: ActivityFlowsOptions): Promise<ActivityFlow[]>;
56
56
  export interface WaitForSettlementOptions {
57
+ /** Transaction hash of the submitted request. Prevents reuse of an earlier settlement. */
58
+ requestTxHash: string;
57
59
  /** CAIP-10 vault id — narrows polling to one vault's activity. */
58
60
  vaultId?: string;
59
61
  /** Polling interval. Defaults to 5s. */
@@ -66,5 +68,5 @@ export interface WaitForSettlementOptions {
66
68
  * `requestHash` reaches a terminal state, and returns the settled or refunded
67
69
  * flow. Use after submitting a `requestDeposit` / `requestRedeem` transaction.
68
70
  */
69
- export declare function waitForRequestSettlement(api: GauntletApi, walletAddress: string, requestHash: string, options?: WaitForSettlementOptions): Promise<ActivityFlow>;
71
+ export declare function waitForRequestSettlement(api: GauntletApi, walletAddress: string, requestHash: string, options: WaitForSettlementOptions): Promise<ActivityFlow>;
70
72
  //# sourceMappingURL=activity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/api/activity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAiB;AAIrF,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AACvF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEpE,6FAA6F;AAC7F,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,qGAAqG;IACrG,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mGAAmG;IACnG,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,wEAAwE;IACxE,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,oFAAoF;IACpF,MAAM,EAAE,WAAW,CAAC;IACpB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA4CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAoDxE;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC;IACtF,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAqBzB;AAED,MAAM,WAAW,wBAAwB;IACvC,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,wBAA6B,GACrC,OAAO,CAAC,YAAY,CAAC,CAevB"}
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../src/api/activity.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAiB;AAIrF,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,UAAU,GAAG,aAAa,GAAG,cAAc,CAAC;AACvF,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,CAAC;AAEpE,6FAA6F;AAC7F,MAAM,WAAW,WAAW;IAC1B,8EAA8E;IAC9E,OAAO,EAAE,MAAM,CAAC;IAChB,qGAAqG;IACrG,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,kBAAkB,CAAC;IAC3B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,sEAAsE;IACtE,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,mGAAmG;IACnG,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IACzB,wEAAwE;IACxE,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,oFAAoF;IACpF,MAAM,EAAE,WAAW,CAAC;IACpB,uEAAuE;IACvE,MAAM,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AA4CD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CA2CxE;AAED,MAAM,WAAW,oBAAqB,SAAQ,IAAI,CAAC,eAAe,EAAE,SAAS,GAAG,OAAO,CAAC;IACtF,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,YAAY,EAAE,CAAC,CAqBzB;AAED,MAAM,WAAW,wBAAwB;IACvC,0FAA0F;IAC1F,aAAa,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,2FAA2F;IAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,wBAAwB,CAC5C,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,wBAAwB,GAChC,OAAO,CAAC,YAAY,CAAC,CAwBvB"}
@@ -0,0 +1,11 @@
1
+ import type { UserActivity } from "./client.js";
2
+ export declare function isPending(row: UserActivity): boolean;
3
+ export declare function requireSameToken(leftRow: UserActivity, rightRow: UserActivity): void;
4
+ export declare function validateActivityRow(row: UserActivity): void;
5
+ export declare function orderActivityRows(rows: UserActivity[]): UserActivity[];
6
+ /**
7
+ * Split request hashes by vault and by each request occurrence.
8
+ * Takes the output of `orderActivityRows`.
9
+ */
10
+ export declare function activityLifecycles(ordered: UserActivity[]): UserActivity[][];
11
+ //# sourceMappingURL=activityRows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activityRows.d.ts","sourceRoot":"","sources":["../../src/api/activityRows.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,oBAAiB;AAG7C,wBAAgB,SAAS,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAEpD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,YAAY,GAAG,IAAI,CAepF;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,CAsD3D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,CAQtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,YAAY,EAAE,EAAE,CA+C5E"}
@@ -1 +1 @@
1
- {"version":3,"file":"caip.d.ts","sourceRoot":"","sources":["../../src/api/caip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAkB;AAKhD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAItD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7B"}
1
+ {"version":3,"file":"caip.d.ts","sourceRoot":"","sources":["../../src/api/caip.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAkB;AAKhD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,CAMtD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAEzE;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED;;;;GAIG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,cAAc,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAQ7B"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/api/client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../src/api/decimal.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAcvE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKvE;AAED,4EAA4E;AAC5E,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD"}
1
+ {"version":3,"file":"decimal.d.ts","sourceRoot":"","sources":["../../src/api/decimal.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAevE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKvE;AAED,4EAA4E;AAC5E,eAAO,MAAM,cAAc,KAAK,CAAC;AAEjC,gFAAgF;AAChF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/api/http.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAEhF,wBAAsB,MAAM,CAAC,CAAC,EAC5B,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,CAAC,CAAC,CAsCZ"}
1
+ {"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/api/http.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,6BAA6B,CAAC;AAE1D,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wFAAwF;IACxF,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;AAEhF,wBAAsB,MAAM,CAAC,CAAC,EAC5B,MAAM,EAAE,iBAAiB,EACzB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,CAAC,CAAC,CAuCZ"}
package/dist/api/index.js CHANGED
@@ -1,19 +1,14 @@
1
1
  import {
2
2
  SHARE_DECIMALS,
3
- apiVaultIdFromVaultId,
4
3
  bigIntToDecimal,
5
4
  buildPositionHistory,
6
5
  decimalToBigInt,
7
- formatApiVaultId,
8
6
  getActivityFlows,
9
7
  getPositionHistory,
10
- parseApiVaultId,
11
8
  sharesToBigInt,
12
9
  stitchActivityFlows,
13
- vaultIdFromApiVaultId,
14
10
  waitForRequestSettlement
15
- } from "../chunk-SU6JAKIA.js";
16
- import "../chunk-STIV2CC4.js";
11
+ } from "../chunk-MEKISE2T.js";
17
12
  import {
18
13
  DEFAULT_API_URL,
19
14
  DecimalPrecisionError,
@@ -21,8 +16,12 @@ import {
21
16
  GauntletApiError,
22
17
  InvalidCaipIdError,
23
18
  InvalidDecimalError,
24
- SettlementTimeoutError
25
- } from "../chunk-HC2BS7MK.js";
19
+ SettlementTimeoutError,
20
+ apiVaultIdFromVaultId,
21
+ formatApiVaultId,
22
+ parseApiVaultId,
23
+ vaultIdFromApiVaultId
24
+ } from "../chunk-JJOLVL5V.js";
26
25
  export {
27
26
  DEFAULT_API_URL,
28
27
  DecimalPrecisionError,
@@ -1 +1 @@
1
- {"version":3,"file":"positionHistory.d.ts","sourceRoot":"","sources":["../../src/api/positionHistory.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAiB;AAWpE,oFAAoF;AACpF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,eAAe,CAmG1E;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAO1B"}
1
+ {"version":3,"file":"positionHistory.d.ts","sourceRoot":"","sources":["../../src/api/positionHistory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,oBAAiB;AAWpE,oFAAoF;AACpF,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IAC3B,gEAAgE;IAChE,WAAW,EAAE,MAAM,CAAC;IACpB,2FAA2F;IAC3F,WAAW,EAAE,MAAM,CAAC;IACpB,kFAAkF;IAClF,aAAa,EAAE,MAAM,CAAC;IACtB,oFAAoF;IACpF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uFAAuF;IACvF,mBAAmB,EAAE,MAAM,CAAC;IAC5B,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,uEAAuE;IACvE,KAAK,EAAE,QAAQ,GAAG,IAAI,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,oBAAoB,EAAE,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,GAAG,eAAe,CAiH1E;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,CAAC,CAO1B"}
@@ -5,12 +5,15 @@ export { encodeBuilderCode } from "./erc8021.js";
5
5
  export type PreparedPayloadWithAttribution = {
6
6
  type: string;
7
7
  to: Address;
8
+ chainId: number;
8
9
  data: Hex;
9
10
  account?: Address;
10
11
  };
11
12
  export type PreparedTx = {
12
13
  payload: PreparedPayloadWithAttribution;
13
- tx: TxStep;
14
+ tx: TxStep & {
15
+ chainId: number;
16
+ };
14
17
  };
15
18
  /**
16
19
  * Build the full attribution suffix to append to transaction calldata.
@@ -21,5 +24,5 @@ export type PreparedTx = {
21
24
  *
22
25
  */
23
26
  export declare function buildAttribution(client: GauntletClient): Promise<Hex>;
24
- export declare function encodeTransactionWithAttribution(client: GauntletClient, transaction: TxStep): Promise<PreparedTx>;
27
+ export declare function encodeTransactionWithAttribution(client: GauntletClient, transaction: TxStep, chainId: number): Promise<PreparedTx>;
25
28
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attribution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAE7D,OAAO,EAAmB,cAAc,EAAE,qBAAkB;AAE5D,OAAO,EAAE,MAAM,EAAE,iCAA8B;AAC/C,OAAO,EAAE,iBAAiB,EAAE,qBAAkB;AAE9C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,8BAA8B,CAAC;IACxC,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAS3E;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,UAAU,CAAC,CAoBrB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/attribution/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAsB,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAE7D,OAAO,EAAmB,cAAc,EAAE,qBAAkB;AAE5D,OAAO,EAAE,MAAM,EAAE,iCAA8B;AAC/C,OAAO,EAAE,iBAAiB,EAAE,qBAAkB;AAE9C,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG;IACvB,OAAO,EAAE,8BAA8B,CAAC;IACxC,EAAE,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAS3E;AAED,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,cAAc,EACtB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,UAAU,CAAC,CAsBrB"}
@@ -174,6 +174,53 @@ var InvalidSyncDepositBoundError = class extends GauntletSDKError {
174
174
  }
175
175
  };
176
176
 
177
+ // src/evm/vaults.ts
178
+ import { base } from "viem/chains";
179
+ var VaultId = /* @__PURE__ */ ((VaultId2) => {
180
+ VaultId2["BaseUsdcPrime"] = "baseUsdcPrime";
181
+ VaultId2["EthUsdcPrime"] = "ethUsdcPrime";
182
+ VaultId2["AeraUsdAlpha"] = "gtusda";
183
+ VaultId2["EthUsdcPrimeV2"] = "ethUsdcPrimeV2";
184
+ VaultId2["AeraLeveredFalconX"] = "gpaafalconx";
185
+ VaultId2["AeraSyrupUsdc"] = "gpsyrupusdc";
186
+ VaultId2["AeraBtcYield"] = "gtbtc";
187
+ VaultId2["AeraLeveredUscc"] = "gtuscc";
188
+ VaultId2["AeraLend"] = "gtlend";
189
+ VaultId2["AeraKastEth"] = "kasteth";
190
+ return VaultId2;
191
+ })(VaultId || {});
192
+ async function getVaults(client, filter) {
193
+ const manifest = await client.manifest;
194
+ let vaults = manifest.vaults;
195
+ if (filter?.chainId) {
196
+ vaults = vaults.filter(
197
+ (v) => v.deployments.some((d) => d.chain === "evm" && d.chainId === filter.chainId)
198
+ );
199
+ }
200
+ if (filter?.protocol) {
201
+ vaults = vaults.filter((v) => v.protocol === filter.protocol);
202
+ }
203
+ return vaults;
204
+ }
205
+ async function resolveVault(client, vaultId, chainId) {
206
+ const manifest = await client.manifest;
207
+ const vaultInfo = manifest.vaults.find((v) => v.vaultId === vaultId);
208
+ if (!vaultInfo) return void 0;
209
+ const evmDeployments = vaultInfo.deployments.filter(
210
+ (d) => d.chain === "evm"
211
+ );
212
+ if (evmDeployments.length === 1) {
213
+ if (chainId !== void 0 && evmDeployments[0].chainId !== chainId) {
214
+ throw new ChainMismatchError(`${chainId}`, `${evmDeployments[0].chainId}`);
215
+ }
216
+ return { vault: evmDeployments[0], protocol: vaultInfo.protocol };
217
+ }
218
+ const defaultChainId = chainId ?? base.id;
219
+ const deployment = evmDeployments.find((d) => d.chainId === defaultChainId);
220
+ if (!deployment) return void 0;
221
+ return { vault: deployment, protocol: vaultInfo.protocol };
222
+ }
223
+
177
224
  // src/api/errors.ts
178
225
  var GauntletApiError = class extends GauntletSDKError {
179
226
  constructor(params) {
@@ -219,22 +266,49 @@ var SettlementTimeoutError = class extends GauntletSDKError {
219
266
  }
220
267
  };
221
268
 
269
+ // src/api/caip.ts
270
+ function parseApiVaultId(id) {
271
+ const match = /^(?:eip155:)?(\d+):(0x[0-9a-fA-F]{40})$/.exec(id);
272
+ if (!match) throw new InvalidCaipIdError(id);
273
+ const chainId = Number(match[1]);
274
+ if (!Number.isSafeInteger(chainId) || chainId <= 0) throw new InvalidCaipIdError(id);
275
+ return { chainId, address: match[2].toLowerCase() };
276
+ }
277
+ function formatApiVaultId(chainId, address) {
278
+ return `${chainId}:${address.toLowerCase()}`;
279
+ }
280
+ async function apiVaultIdFromVaultId(client, vaultId, chainId) {
281
+ const resolved = await resolveVault(client, vaultId, chainId);
282
+ if (!resolved) throw new VaultNotFoundError(vaultId, chainId);
283
+ return formatApiVaultId(resolved.vault.chainId, resolved.vault.vaultAddress);
284
+ }
285
+ async function vaultIdFromApiVaultId(client, apiVaultId) {
286
+ const { chainId, address } = parseApiVaultId(apiVaultId);
287
+ const manifest = await client.manifest;
288
+ return manifest.vaults.find(
289
+ (v) => v.deployments.some(
290
+ (d) => d.chain === "evm" && d.chainId === chainId && d.vaultAddress.toLowerCase() === address
291
+ )
292
+ )?.vaultId;
293
+ }
294
+
222
295
  // src/api/http.ts
223
296
  var DEFAULT_API_URL = "https://api.gauntlet.xyz";
224
297
  async function apiGet(config, path, query) {
225
- const base = (config.apiUrl ?? DEFAULT_API_URL).replace(/\/+$/, "");
298
+ const base2 = (config.apiUrl ?? DEFAULT_API_URL).replace(/\/+$/, "");
226
299
  const origin = globalThis.location?.origin;
227
- if (origin === void 0 && !/^[a-z][a-z0-9+.-]*:\/\//i.test(base)) {
300
+ if (origin === void 0 && !/^[a-z][a-z0-9+.-]*:\/\//i.test(base2)) {
228
301
  throw new Error(
229
- `relative apiUrl "${base}" requires a browser origin; pass an absolute apiUrl outside the browser`
302
+ `relative apiUrl "${base2}" requires a browser origin; pass an absolute apiUrl outside the browser`
230
303
  );
231
304
  }
232
- const url = new URL(base + path, origin);
305
+ const url = new URL(base2 + path, origin);
233
306
  for (const [key, value] of Object.entries(query ?? {})) {
234
307
  if (value !== void 0) url.searchParams.set(key, String(value));
235
308
  }
236
309
  const fetchImpl = config.fetch ?? fetch;
237
310
  const response = await fetchImpl(url, {
311
+ redirect: "error",
238
312
  headers: {
239
313
  accept: "application/json",
240
314
  ...config.apiKey ? { "x-api-key": config.apiKey } : {}
@@ -255,6 +329,9 @@ async function apiGet(config, path, query) {
255
329
  }
256
330
 
257
331
  // src/api/client.ts
332
+ function activityError(message, code) {
333
+ return new GauntletApiError({ status: 200, path: "/v1/users/activity", message, code });
334
+ }
258
335
  var GauntletApi = class {
259
336
  constructor(config = {}) {
260
337
  this.config = config;
@@ -353,11 +430,34 @@ var GauntletApi = class {
353
430
  * across pages so callers never handle cursors.
354
431
  */
355
432
  async *activityRows(walletAddress, options = {}) {
433
+ const vault = options.vaultId === void 0 ? void 0 : parseApiVaultId(options.vaultId);
434
+ const descending = (options.order ?? "desc") === "desc";
435
+ let lastTimestamp;
356
436
  let next;
437
+ const cursors = /* @__PURE__ */ new Set();
357
438
  do {
358
439
  const page = await this.activity(walletAddress, { ...options, next });
359
- yield* page.data;
440
+ if (page.meta.partial_errors?.length) {
441
+ throw activityError("The activity response is incomplete", "INCOMPLETE_ACTIVITY");
442
+ }
443
+ for (const row of page.data) {
444
+ if (vault !== void 0) {
445
+ const rowVault = parseApiVaultId(row.vault_id);
446
+ if (rowVault.chainId !== vault.chainId || rowVault.address !== vault.address) {
447
+ throw activityError("The activity vault does not match the request");
448
+ }
449
+ }
450
+ if (lastTimestamp !== void 0 && (descending ? row.block_timestamp > lastTimestamp : row.block_timestamp < lastTimestamp)) {
451
+ throw activityError("The activity rows are out of order");
452
+ }
453
+ lastTimestamp = row.block_timestamp;
454
+ yield row;
455
+ }
360
456
  next = page.meta.next_cursor ?? void 0;
457
+ if (next !== void 0) {
458
+ if (cursors.has(next)) throw activityError("The activity cursor repeats");
459
+ cursors.add(next);
460
+ }
361
461
  } while (next);
362
462
  }
363
463
  /**
@@ -428,12 +528,19 @@ export {
428
528
  InvalidSolverTipError,
429
529
  InvalidSlippageBPSError,
430
530
  InvalidSyncDepositBoundError,
531
+ VaultId,
532
+ getVaults,
533
+ resolveVault,
431
534
  GauntletApiError,
432
535
  InvalidDecimalError,
433
536
  DecimalPrecisionError,
434
537
  InvalidCaipIdError,
435
538
  SettlementTimeoutError,
539
+ parseApiVaultId,
540
+ formatApiVaultId,
541
+ apiVaultIdFromVaultId,
542
+ vaultIdFromApiVaultId,
436
543
  DEFAULT_API_URL,
437
544
  GauntletApi
438
545
  };
439
- //# sourceMappingURL=chunk-HC2BS7MK.js.map
546
+ //# sourceMappingURL=chunk-JJOLVL5V.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/constants.ts", "../src/errors.ts", "../src/evm/vaults.ts", "../src/api/errors.ts", "../src/api/caip.ts", "../src/api/http.ts", "../src/api/client.ts"],
4
+ "sourcesContent": ["export const MAX_BPS = 10000n;\nexport const DEFAULT_BPS = 100;\n\nexport const SECOND = 1;\nexport const MINUTE = SECOND * 60;\nexport const HOUR = MINUTE * 60;\nexport const DAY = HOUR * 24;\n\nexport const REQUEST_DEADLINE_BUFFER_DAYS = 3;\nexport const DEFAULT_MAX_PRICE_AGE_DAYS = 10;\nexport const DEFAULT_SOLVER_TIP = 0n;\nexport const DEFAULT_REQUEST_DEADLINE_BUFFER = DAY * REQUEST_DEADLINE_BUFFER_DAYS;\nexport const DEFAULT_MAX_PRICE_AGE = BigInt(DAY * DEFAULT_MAX_PRICE_AGE_DAYS);\n\nexport const CHAIN_NAMES: Record<number, string> = {\n 1: 'ethereum',\n 8453: 'base',\n 42161: 'arbitrum',\n 10: 'optimism',\n 5042: 'arc',\n};\n\n// Approximate 3-day block lookback per chain based on avg block time.\nexport const BLOCKS_3_DAYS: Record<number, bigint> = {\n 1: 21_600n,\n 8453: 129_600n,\n 42161: 1_036_800n,\n 10: 129_600n,\n 5042: 518_400n,\n};\nexport const DEFAULT_BLOCKS_3_DAYS = 129_600n;\n\n// Many RPC providers cap eth_getLogs to 10,000 blocks per request.\nexport const LOG_PAGE_SIZE = 9_999n;\n", "import type { ChainId } from './client';\nimport { MAX_BPS } from './constants';\n\nexport class GauntletSDKError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'GauntletSDKError';\n }\n}\n\nexport class VaultNotFoundError extends GauntletSDKError {\n readonly vaultId: string;\n readonly chainId?: ChainId;\n\n constructor(vaultId: string, chainId?: ChainId) {\n const msg = chainId\n ? `Vault \"${vaultId}\" not found on chainId \"${chainId}\"`\n : `Vault \"${vaultId}\" not found`;\n super(msg);\n this.name = 'VaultNotFoundError';\n this.vaultId = vaultId;\n this.chainId = chainId;\n }\n}\n\nexport class UnsupportedAssetError extends GauntletSDKError {\n readonly asset: string;\n readonly vaultId: string;\n\n constructor(asset: string, vaultId: string) {\n super(`Asset \"${asset}\" is not supported by vault \"${vaultId}\"`);\n this.name = 'UnsupportedAssetError';\n this.asset = asset;\n this.vaultId = vaultId;\n }\n}\n\nexport class ChainMismatchError extends GauntletSDKError {\n readonly expected: string;\n readonly received: string;\n\n constructor(expected: string, received: string) {\n super(`Chain mismatch: expected \"${expected}\", received \"${received}\"`);\n this.name = 'ChainMismatchError';\n this.expected = expected;\n this.received = received;\n }\n}\n\nexport class UnsupportedDepositModeError extends GauntletSDKError {\n readonly vaultId: string;\n readonly requested: string;\n readonly available: string;\n\n constructor(vaultId: string, requested: string, available: string) {\n super(`Vault \"${vaultId}\" does not support ${requested} operations (available: ${available})`);\n this.name = 'UnsupportedDepositModeError';\n this.vaultId = vaultId;\n this.requested = requested;\n this.available = available;\n }\n}\n\nexport class RpcNotConfiguredError extends GauntletSDKError {\n readonly chainId: ChainId;\n\n constructor(chainId: ChainId) {\n super(`No client configured for chainId \"${chainId}\"`);\n this.name = 'RpcNotConfiguredError';\n this.chainId = chainId;\n }\n}\n\nexport class AccountRequiredError extends GauntletSDKError {\n constructor() {\n super(\n 'No account specified. Pass the required account, or configure a wallet when building transactions.'\n );\n this.name = 'AccountRequiredError';\n }\n}\n\nexport class AccountMismatchError extends GauntletSDKError {\n readonly expected: string;\n readonly received: string;\n\n constructor(expected: string, received: string) {\n super(`Account mismatch: expected \"${expected}\", received \"${received}\"`);\n this.name = 'AccountMismatchError';\n this.expected = expected;\n this.received = received;\n }\n}\n\nexport class UnsupportedProtocolError extends GauntletSDKError {\n readonly protocol: string;\n\n constructor(protocol: string) {\n super(`Unsupported protocol: \"${protocol}\"`);\n this.name = 'UnsupportedProtocolError';\n this.protocol = protocol;\n }\n}\n\nexport class InvalidWithdrawParamsError extends GauntletSDKError {\n constructor() {\n super('Withdraw requires exactly one of: shares, amount, or all');\n this.name = 'InvalidWithdrawParamsError';\n }\n}\n\nexport type SyncWithdrawBound = 'tokensOut' | 'minTokensOut' | 'unitsIn' | 'maxUnitsIn';\n\nexport class InvalidSyncWithdrawBoundError extends GauntletSDKError {\n readonly bound: SyncWithdrawBound;\n\n constructor(bound: SyncWithdrawBound) {\n super(`Sync withdraw cannot submit zero ${bound}; increase the amount or reduce slippage`);\n this.name = 'InvalidSyncWithdrawBoundError';\n this.bound = bound;\n }\n}\n\nexport function requireNonZeroSyncWithdrawBound(value: bigint, bound: SyncWithdrawBound) {\n if (value === 0n) throw new InvalidSyncWithdrawBoundError(bound);\n}\n\nexport class UnimplementedFeatureError extends GauntletSDKError {\n readonly feature: string;\n\n constructor(feature: string) {\n super(`Feature not yet implemented: \"${feature}\"`);\n this.name = 'UnimplementedFeatureError';\n this.feature = feature;\n }\n}\n\nexport class UnsupportedFeatureError extends GauntletSDKError {\n readonly feature: string;\n\n constructor(feature: string) {\n super(`Feature not supported: \"${feature}\"`);\n this.name = 'UnsupportedFeatureError';\n this.feature = feature;\n }\n}\n\nexport class UnitConversionError extends GauntletSDKError {\n readonly vaultAddress: string;\n\n constructor(vaultAddress: string) {\n super(`Failed to convert token units for vault \"${vaultAddress}\": fee calculator unavailable`);\n this.name = 'UnitConversionError';\n this.vaultAddress = vaultAddress;\n }\n}\n\nexport class StalePriceError extends GauntletSDKError {\n readonly blockTimestamp: bigint;\n readonly maxPriceAge: bigint;\n readonly priceTimestamp: bigint;\n\n constructor({\n blockTimestamp,\n maxPriceAge,\n priceTimestamp,\n }: {\n blockTimestamp: bigint;\n maxPriceAge: bigint;\n priceTimestamp: bigint;\n }) {\n super(\n `Price is stale: timestamp \"${priceTimestamp}\" with max age \"${maxPriceAge}\" is older than block timestamp \"${blockTimestamp}\"`\n );\n this.name = 'StalePriceError';\n this.blockTimestamp = blockTimestamp;\n this.maxPriceAge = maxPriceAge;\n this.priceTimestamp = priceTimestamp;\n }\n}\n\nexport class InvalidSolverTipError extends GauntletSDKError {\n readonly solverTip: bigint;\n readonly availableAmount: bigint;\n\n constructor(solverTip: bigint, availableAmount: bigint) {\n super(\n `Solver tip \"${solverTip}\" must be less than available token amount \"${availableAmount}\"`\n );\n this.name = 'InvalidSolverTipError';\n this.solverTip = solverTip;\n this.availableAmount = availableAmount;\n }\n}\n\nexport class InvalidSlippageBPSError extends GauntletSDKError {\n readonly slippage: number;\n\n constructor(slippage: number) {\n super(`Slippage not in range of 0-${Number(MAX_BPS)}; argument passed: ${slippage}`);\n this.name = 'IncorrectArgument';\n this.slippage = slippage;\n }\n}\n\nexport class InvalidSyncDepositBoundError extends GauntletSDKError {\n constructor() {\n super('Sync deposit minUnitsOut requires explicit sync mode and must be greater than zero');\n this.name = 'InvalidSyncDepositBoundError';\n }\n}\n", "import { base } from 'viem/chains';\nimport type { GauntletClient } from '../client';\nimport type { EvmVaultDeployment, VaultDeployment, VaultInfo } from './types';\nimport { ChainMismatchError } from '../errors';\n\nexport enum VaultId {\n BaseUsdcPrime = 'baseUsdcPrime',\n EthUsdcPrime = 'ethUsdcPrime',\n AeraUsdAlpha = 'gtusda',\n EthUsdcPrimeV2 = 'ethUsdcPrimeV2',\n AeraLeveredFalconX = 'gpaafalconx',\n AeraSyrupUsdc = 'gpsyrupusdc',\n AeraBtcYield = 'gtbtc',\n AeraLeveredUscc = 'gtuscc',\n AeraLend = 'gtlend',\n AeraKastEth = 'kasteth',\n}\n\nexport interface VaultFilter {\n /** Filter to vaults that have at least one EVM deployment on this chainId. */\n chainId?: number;\n protocol?: string;\n}\n\n/**\n * Returns vaults from the bundled manifest, optionally filtered by chain and/or protocol.\n * Does not make any network requests.\n *\n * @param client - A configured `GauntletClient` instance.\n * @param filter - Optional filter criteria. `chainId` restricts results to vaults that have\n * at least one EVM deployment on that chain. `protocol` restricts results to a specific\n * protocol (e.g. `'aera'`, `'morpho'`).\n * @returns Array of `VaultInfo` objects matching the filter, or all vaults if no filter is given.\n *\n * @example\n * ```ts\n * // All vaults on Base\n * const vaults = await getVaults(client, { chainId: base.id });\n *\n * // All Aera vaults\n * const aeraVaults = await getVaults(client, { protocol: 'aera' });\n * ```\n */\nexport async function getVaults(\n client: GauntletClient,\n filter?: VaultFilter\n): Promise<VaultInfo[]> {\n const manifest = await client.manifest;\n let vaults = manifest.vaults;\n\n if (filter?.chainId) {\n vaults = vaults.filter((v) =>\n v.deployments.some((d) => d.chain === 'evm' && d.chainId === filter.chainId)\n );\n }\n\n if (filter?.protocol) {\n vaults = vaults.filter((v) => v.protocol === filter.protocol);\n }\n\n return vaults;\n}\n\nexport async function resolveVault(\n client: GauntletClient,\n vaultId: string,\n chainId?: string | number\n): Promise<{ vault: VaultDeployment; protocol: string } | undefined> {\n const manifest = await client.manifest;\n const vaultInfo = manifest.vaults.find((v) => v.vaultId === vaultId);\n if (!vaultInfo) return undefined;\n\n const evmDeployments = vaultInfo.deployments.filter(\n (d): d is EvmVaultDeployment => d.chain === 'evm'\n );\n\n if (evmDeployments.length === 1) {\n // if user specifies a chain we need to make sure they get it\n if (chainId !== undefined && evmDeployments[0].chainId !== chainId) {\n throw new ChainMismatchError(`${chainId}`, `${evmDeployments[0].chainId}`);\n }\n // otherwise they're expected to know what chain\n // the single chain vault they request is on\n return { vault: evmDeployments[0], protocol: vaultInfo.protocol };\n }\n\n // now we default to base\n const defaultChainId = chainId ?? base.id;\n\n const deployment = evmDeployments.find((d) => d.chainId === defaultChainId);\n if (!deployment) return undefined;\n\n return { vault: deployment, protocol: vaultInfo.protocol };\n}\n", "import { GauntletSDKError } from '../errors';\n\nexport class GauntletApiError extends GauntletSDKError {\n readonly status: number;\n readonly path: string;\n /** Machine-readable code from the API error envelope (e.g. `NOT_FOUND`), when present. */\n readonly code?: string;\n\n constructor(params: { status: number; path: string; message: string; code?: string }) {\n super(\n `Gauntlet API request to \"${params.path}\" failed with ${params.status}: ${params.message}`\n );\n this.name = 'GauntletApiError';\n this.status = params.status;\n this.path = params.path;\n this.code = params.code;\n }\n}\n\nexport class InvalidDecimalError extends GauntletSDKError {\n readonly value: string;\n\n constructor(value: string) {\n super(`Value \"${value}\" is not a valid decimal string`);\n this.name = 'InvalidDecimalError';\n this.value = value;\n }\n}\n\nexport class DecimalPrecisionError extends GauntletSDKError {\n readonly value: string;\n readonly decimals: number;\n\n constructor(value: string, decimals: number) {\n super(\n `Decimal \"${value}\" has more fractional digits than the token's ${decimals} decimals; converting would lose precision`\n );\n this.name = 'DecimalPrecisionError';\n this.value = value;\n this.decimals = decimals;\n }\n}\n\nexport class InvalidCaipIdError extends GauntletSDKError {\n readonly id: string;\n\n constructor(id: string) {\n super(`\"${id}\" is not a valid CAIP-10 vault id (expected \"{chainId}:{address}\")`);\n this.name = 'InvalidCaipIdError';\n this.id = id;\n }\n}\n\nexport class SettlementTimeoutError extends GauntletSDKError {\n readonly requestHash: string;\n readonly timeoutMs: number;\n\n constructor(requestHash: string, timeoutMs: number) {\n super(`Request \"${requestHash}\" did not settle within ${timeoutMs}ms`);\n this.name = 'SettlementTimeoutError';\n this.requestHash = requestHash;\n this.timeoutMs = timeoutMs;\n }\n}\n", "import type { GauntletClient } from '../client';\nimport { VaultNotFoundError } from '../errors';\nimport { resolveVault } from '../evm/vaults';\nimport { InvalidCaipIdError } from './errors';\n\n/**\n * The Gaia API identifies vaults as `\"{chainId}:{address}\"` with a lowercase\n * address (a CAIP-10-style account id without the `eip155` namespace prefix).\n */\nexport interface ApiVaultId {\n chainId: number;\n /** Lowercase EVM address. */\n address: string;\n}\n\nexport function parseApiVaultId(id: string): ApiVaultId {\n const match = /^(?:eip155:)?(\\d+):(0x[0-9a-fA-F]{40})$/.exec(id);\n if (!match) throw new InvalidCaipIdError(id);\n const chainId = Number(match[1]);\n if (!Number.isSafeInteger(chainId) || chainId <= 0) throw new InvalidCaipIdError(id);\n return { chainId, address: match[2].toLowerCase() };\n}\n\nexport function formatApiVaultId(chainId: number, address: string): string {\n return `${chainId}:${address.toLowerCase()}`;\n}\n\n/**\n * Resolves a manifest vault id (e.g. `VaultId.AeraUsdAlpha` / `'gtusda'`) to\n * the Gaia API's CAIP-10 id for the vault's deployment on `chainId`.\n *\n * Deployment resolution is `resolveVault` \u2014 the same rules tx-building uses:\n * single-deployment vaults resolve directly (a mismatched explicit `chainId`\n * throws `ChainMismatchError`), multi-chain vaults default to Base when\n * `chainId` is omitted.\n */\nexport async function apiVaultIdFromVaultId(\n client: GauntletClient,\n vaultId: string,\n chainId?: number\n): Promise<string> {\n const resolved = await resolveVault(client, vaultId, chainId);\n if (!resolved) throw new VaultNotFoundError(vaultId, chainId);\n return formatApiVaultId(resolved.vault.chainId, resolved.vault.vaultAddress);\n}\n\n/**\n * Resolves a Gaia API CAIP-10 vault id back to the manifest vault id, or\n * `undefined` when the vault is not in the bundled manifest (the API indexes\n * more vaults than the manifest lists).\n */\nexport async function vaultIdFromApiVaultId(\n client: GauntletClient,\n apiVaultId: string\n): Promise<string | undefined> {\n const { chainId, address } = parseApiVaultId(apiVaultId);\n const manifest = await client.manifest;\n return manifest.vaults.find((v) =>\n v.deployments.some(\n (d) => d.chain === 'evm' && d.chainId === chainId && d.vaultAddress.toLowerCase() === address\n )\n )?.vaultId;\n}\n", "import { GauntletApiError } from './errors';\n\nexport const DEFAULT_API_URL = 'https://api.gauntlet.xyz';\n\nexport interface GauntletApiConfig {\n /** Kong consumer key sent as `x-api-key`. Anonymous access is rate-limited. */\n apiKey?: string;\n /**\n * Override the API origin. Defaults to `https://api.gauntlet.xyz`. In a\n * browser this may be a relative path (e.g. a Next.js rewrite like\n * `/gauntlet-api`), which resolves against the page origin.\n */\n apiUrl?: string;\n /** Custom fetch implementation (testing, instrumentation). Defaults to global fetch. */\n fetch?: typeof fetch;\n}\n\nexport type QueryParams = Record<string, string | number | boolean | undefined>;\n\nexport async function apiGet<T>(\n config: GauntletApiConfig,\n path: string,\n query?: QueryParams\n): Promise<T> {\n // Concatenate instead of `new URL(path, base)`: the paths are absolute, so\n // URL resolution would silently drop any path prefix on a proxy apiUrl.\n const base = (config.apiUrl ?? DEFAULT_API_URL).replace(/\\/+$/, '');\n // Relative bases resolve against the browser origin.\n const origin = (globalThis as { location?: { origin: string } }).location?.origin;\n if (origin === undefined && !/^[a-z][a-z0-9+.-]*:\\/\\//i.test(base)) {\n throw new Error(\n `relative apiUrl \"${base}\" requires a browser origin; pass an absolute apiUrl outside the browser`\n );\n }\n const url = new URL(base + path, origin);\n for (const [key, value] of Object.entries(query ?? {})) {\n if (value !== undefined) url.searchParams.set(key, String(value));\n }\n\n const fetchImpl = config.fetch ?? fetch;\n const response = await fetchImpl(url, {\n redirect: 'error',\n headers: {\n accept: 'application/json',\n ...(config.apiKey ? { 'x-api-key': config.apiKey } : {}),\n },\n });\n\n if (!response.ok) {\n let message = response.statusText || 'request failed';\n let code: string | undefined;\n try {\n const body = (await response.json()) as { error?: { code?: string; message?: string } };\n message = body.error?.message ?? message;\n code = body.error?.code;\n } catch {\n // non-JSON error body \u2014 keep the status text\n }\n throw new GauntletApiError({ status: response.status, path, message, code });\n }\n\n return (await response.json()) as T;\n}\n", "import { parseApiVaultId } from './caip';\nimport { GauntletApiError } from './errors';\nimport type { components } from './generated';\nimport { apiGet, type GauntletApiConfig, type QueryParams } from './http';\n\ntype Schemas = components['schemas'];\n\nfunction activityError(message: string, code?: string): GauntletApiError {\n return new GauntletApiError({ status: 200, path: '/v1/users/activity', message, code });\n}\n\nexport type UserActivity = Schemas['UserActivity'];\nexport type UserActivityResponse = Schemas['UserActivityResponse'];\nexport type UserPosition = Schemas['UserPosition'];\nexport type UserAllPositionsResponse = Schemas['UserAllPositionsResponse'];\nexport type UserPositionLatestResponse = Schemas['UserPositionLatestResponse'];\nexport type UserPositionsTimeseriesResponse = Schemas['UserPositionsTimeseriesResponse'];\nexport type PositionTimeseriesPoint = Schemas['PositionTimeseriesPoint'];\nexport type VaultDetail = Schemas['VaultDetail'];\nexport type VaultDetailResponse = Schemas['VaultDetailResponse'];\nexport type VaultListResponse = Schemas['VaultListResponse'];\nexport type VaultAllocations = Schemas['VaultAllocations'];\nexport type VaultAllocationsResponse = Schemas['VaultAllocationsResponse'];\nexport type VaultTimeseriesResponse = Schemas['VaultTimeseriesResponse'];\nexport type VaultGroupTimeseriesResponse = Schemas['VaultGroupTimeseriesResponse'];\nexport type VaultGroupTimeseriesPoint = Schemas['VaultGroupTimeseriesPoint'];\nexport type VaultTimeseriesPoint = Schemas['VaultTimeseriesPoint'];\nexport type VaultMetrics = Schemas['VaultMetrics'];\nexport type FeaturedVault = Schemas['FeaturedVault'];\nexport type FeaturedVaultsResponse = Schemas['FeaturedVaultsResponse'];\nexport type StrategyCard = Schemas['StrategyCard'];\nexport type StrategyListResponse = Schemas['StrategyListResponse'];\nexport type TvlResponse = Schemas['TvlResponse'];\nexport type TvlBreakdownMode = Schemas['TvlBreakdownMode'];\nexport type TvlTimeseriesResponse = Schemas['TvlTimeseriesResponse'];\nexport type TvlTimeseriesPoint = Schemas['TvlTimeseriesPoint'];\nexport type LatestPriceResponse = Schemas['LatestPriceResponse'];\nexport type PriceTimeseriesResponse = Schemas['TimeseriesResponse'];\nexport type TokenRef = Schemas['TokenRef'];\nexport type PartialResponseError = Schemas['PartialResponseError'];\nexport type AmountPair = Schemas['AmountPair'];\nexport type TimeseriesMeta = Schemas['TimeseriesMeta'];\nexport type HealthResponse = Schemas['HealthResponse'];\nexport type ChainSyncStatus = Schemas['ChainSyncStatus'];\n\nexport interface PageOptions {\n /** Opaque cursor from a previous response's `meta.next_cursor`. */\n next?: string;\n limit?: number;\n order?: 'asc' | 'desc';\n}\n\nexport interface TimeWindowOptions extends PageOptions {\n /** ISO 8601 date (`2026-01-01`) or RFC 3339 timestamp. */\n start?: string;\n end?: string;\n granularity?: 'hour' | 'day' | 'week' | 'month';\n}\n\nexport interface ActivityOptions extends PageOptions {\n /** CAIP-10 vault id (`\"{chainId}:{address}\"`). Omit for wallet-wide activity. */\n vaultId?: string;\n /**\n * Wallet-wide feeds only: include activity in hidden (enabled but unlisted)\n * vaults alongside visible ones. Activity in disabled vaults is never\n * returned. Ignored when `vaultId` is set.\n */\n includeHidden?: boolean;\n}\n\nexport interface PositionsOptions extends PageOptions {\n /**\n * Include positions in hidden (enabled but unlisted) vaults alongside\n * visible ones. Positions in disabled vaults are never returned.\n */\n includeHidden?: boolean;\n}\n\nexport interface VaultsOptions extends PageOptions {\n /**\n * Include hidden (enabled but unlisted) vaults alongside visible ones.\n * Disabled vaults are never listed.\n */\n includeHidden?: boolean;\n}\n\nexport interface LatestPriceOptions {\n address: string;\n chainId: number;\n /** Optional ISO 8601 timestamp for a point-in-time price. */\n at?: string;\n}\n\nexport interface PriceTimeseriesOptions {\n address: string;\n chainId: number;\n start: string;\n end: string;\n granularity?: 'raw' | 'hour' | 'day' | 'week' | 'month';\n limit?: number;\n}\n\n/**\n * Typed client for the Gaia REST API (api.gauntlet.xyz).\n *\n * All response types are generated from the service's OpenAPI spec\n * (`src/api/generated.ts`, regenerated via `yarn generate:api-types`) so they\n * cannot drift from the server models. Values are returned exactly as the API\n * emits them \u2014 human-unit decimal strings and CAIP-10 vault ids; use\n * `decimalToBigInt` / `sharesToBigInt` and `apiVaultIdFromVaultId` /\n * `vaultIdFromApiVaultId` to convert, or the higher-level `activityFlows` /\n * `positionHistory` helpers for pre-normalized values.\n *\n * Available on a configured client as `client.api`, or standalone:\n * ```ts\n * const api = new GauntletApi({ apiKey: process.env.GAUNTLET_API_KEY });\n * const { data } = await api.vaults();\n * ```\n */\nexport class GauntletApi {\n private readonly config: GauntletApiConfig;\n\n constructor(config: GauntletApiConfig = {}) {\n this.config = config;\n }\n\n private get<T>(path: string, query?: QueryParams): Promise<T> {\n return apiGet<T>(this.config, path, query);\n }\n\n /** GET /health \u2014 service liveness (version + uptime). */\n health(): Promise<HealthResponse> {\n return this.get('/health');\n }\n\n /** GET /health/chains \u2014 per-chain indexer sync freshness. */\n chainSyncStatus(): Promise<ChainSyncStatus[]> {\n return this.get('/health/chains');\n }\n\n /** GET /v1/vaults \u2014 all indexed vaults with live metrics (TVL, APY, unit price). */\n vaults(options: VaultsOptions = {}): Promise<{ data: VaultDetail[]; meta: TimeseriesMeta }> {\n return this.get('/v1/vaults', {\n next: options.next,\n limit: options.limit,\n include_hidden: options.includeHidden,\n });\n }\n\n /** GET /v1/vaults/slug/{slug} \u2014 all enabled deployments for one exact vault slug. */\n vaultsBySlug(slug: string): Promise<VaultListResponse> {\n return this.get(`/v1/vaults/slug/${encodeURIComponent(slug)}`);\n }\n\n /** GET /v1/vaults/slug/{slug}/timeseries \u2014 aggregate USD TVL and supply, plus primary-deployment metrics.\n * APY and unit price come from meta.resolved_vault_id; null marks missing data.\n */\n vaultTimeseriesBySlug(\n slug: string,\n options: TimeWindowOptions = {}\n ): Promise<VaultGroupTimeseriesResponse> {\n return this.get(`/v1/vaults/slug/${encodeURIComponent(slug)}/timeseries`, { ...options });\n }\n\n /** GET /v1/vaults/slug/{slug}/primary/timeseries \u2014 primary deployment history. */\n primaryVaultTimeseriesBySlug(\n slug: string,\n options: TimeWindowOptions = {}\n ): Promise<VaultTimeseriesResponse> {\n return this.get(`/v1/vaults/slug/${encodeURIComponent(slug)}/primary/timeseries`, {\n ...options,\n });\n }\n\n /** GET /v1/vaults/featured \u2014 admin-curated featured vault cards. */\n featuredVaults(): Promise<FeaturedVaultsResponse> {\n return this.get('/v1/vaults/featured');\n }\n\n /** GET /v1/strategies \u2014 admin-curated strategy cards. */\n strategies(): Promise<StrategyListResponse> {\n return this.get('/v1/strategies');\n }\n\n /** GET /v1/vaults/{vault_id} \u2014 one vault with live metrics. `vaultId` is CAIP-10. */\n vault(vaultId: string): Promise<VaultDetailResponse> {\n return this.get(`/v1/vaults/${encodeURIComponent(vaultId)}`);\n }\n\n /** GET /v1/vaults/{vault_id}/definition \u2014 raw indexed vault definition. */\n vaultDefinition(vaultId: string): Promise<unknown> {\n return this.get(`/v1/vaults/${encodeURIComponent(vaultId)}/definition`);\n }\n\n /** GET /v1/vaults/{vault_id}/allocations \u2014 current Aera allocations with source lineage. */\n vaultAllocations(vaultId: string): Promise<VaultAllocationsResponse> {\n return this.get(`/v1/vaults/${encodeURIComponent(vaultId)}/allocations`);\n }\n\n /** GET /v1/vaults/{vault_id}/timeseries \u2014 TVL / unit-price / APY history. */\n vaultTimeseries(\n vaultId: string,\n options: TimeWindowOptions = {}\n ): Promise<VaultTimeseriesResponse> {\n return this.get(`/v1/vaults/${encodeURIComponent(vaultId)}/timeseries`, { ...options });\n }\n\n /** GET /v1/users/{wallet}/positions \u2014 all of a wallet's indexed positions with PnL. */\n positions(\n walletAddress: string,\n options: PositionsOptions = {}\n ): Promise<UserAllPositionsResponse> {\n return this.get(`/v1/users/${encodeURIComponent(walletAddress)}/positions`, {\n next: options.next,\n limit: options.limit,\n include_hidden: options.includeHidden,\n });\n }\n\n /** GET /v1/users/{wallet}/positions/{vault_id} \u2014 one position with PnL breakdown. */\n position(walletAddress: string, vaultId: string): Promise<UserPositionLatestResponse> {\n return this.get(\n `/v1/users/${encodeURIComponent(walletAddress)}/positions/${encodeURIComponent(vaultId)}`\n );\n }\n\n /** GET /v1/users/{wallet}/positions/{vault_id}/timeseries \u2014 value / cost-basis / PnL / ROI history. */\n positionTimeseries(\n walletAddress: string,\n vaultId: string,\n options: TimeWindowOptions = {}\n ): Promise<UserPositionsTimeseriesResponse> {\n return this.get(\n `/v1/users/${encodeURIComponent(walletAddress)}/positions/${encodeURIComponent(vaultId)}/timeseries`,\n { ...options }\n );\n }\n\n /** GET /v1/users/{wallet}/activity \u2014 one page of the wallet's immutable event log. */\n activity(walletAddress: string, options: ActivityOptions = {}): Promise<UserActivityResponse> {\n const { vaultId, includeHidden, ...page } = options;\n return this.get(`/v1/users/${encodeURIComponent(walletAddress)}/activity`, {\n vault_id: vaultId,\n include_hidden: includeHidden,\n ...page,\n });\n }\n\n /**\n * Iterates the wallet's full activity log, following `meta.next_cursor`\n * across pages so callers never handle cursors.\n */\n async *activityRows(\n walletAddress: string,\n options: Omit<ActivityOptions, 'next'> = {}\n ): AsyncGenerator<UserActivity> {\n const vault = options.vaultId === undefined ? undefined : parseApiVaultId(options.vaultId);\n // Gaia pages on (timestamp, logIndex), which rows do not expose. Rows\n // can repeat legitimately inside one transaction, so the boundary check\n // is the timestamp order.\n const descending = (options.order ?? 'desc') === 'desc';\n let lastTimestamp: number | undefined;\n let next: string | undefined;\n const cursors = new Set<string>();\n do {\n const page = await this.activity(walletAddress, { ...options, next });\n if (page.meta.partial_errors?.length) {\n throw activityError('The activity response is incomplete', 'INCOMPLETE_ACTIVITY');\n }\n for (const row of page.data) {\n if (vault !== undefined) {\n const rowVault = parseApiVaultId(row.vault_id);\n if (rowVault.chainId !== vault.chainId || rowVault.address !== vault.address) {\n throw activityError('The activity vault does not match the request');\n }\n }\n if (\n lastTimestamp !== undefined &&\n (descending ? row.block_timestamp > lastTimestamp : row.block_timestamp < lastTimestamp)\n ) {\n throw activityError('The activity rows are out of order');\n }\n lastTimestamp = row.block_timestamp;\n yield row;\n }\n next = page.meta.next_cursor ?? undefined;\n if (next !== undefined) {\n if (cursors.has(next)) throw activityError('The activity cursor repeats');\n cursors.add(next);\n }\n } while (next);\n }\n\n /**\n * GET /v1/tvl \u2014 aggregate Gauntlet TVL. Pass `mode` for a `breakdown`:\n * `chain` for one row per chain, `strategy` for one row per curated\n * strategy. Omit it for the headline totals only.\n */\n tvl(options: { mode?: TvlBreakdownMode } = {}): Promise<TvlResponse> {\n return this.get('/v1/tvl', { mode: options.mode });\n }\n\n /**\n * GET /v1/tvl/timeseries \u2014 daily aggregate Gauntlet TVL over a fixed\n * 3-month trailing window. `mode` partitions each point's `sources` the\n * same way `tvl()` partitions its `breakdown`; a point's total never\n * depends on it.\n */\n tvlTimeseries(options: { mode?: TvlBreakdownMode } = {}): Promise<TvlTimeseriesResponse> {\n return this.get('/v1/tvl/timeseries', { mode: options.mode });\n }\n\n /** GET /v1/prices \u2014 latest USD price for a token. */\n latestPrice(options: LatestPriceOptions): Promise<LatestPriceResponse> {\n return this.get('/v1/prices', {\n address: options.address,\n chain_id: options.chainId,\n at: options.at,\n });\n }\n\n /** GET /v1/prices/timeseries \u2014 USD price history for a token. */\n priceTimeseries(options: PriceTimeseriesOptions): Promise<PriceTimeseriesResponse> {\n return this.get('/v1/prices/timeseries', {\n address: options.address,\n chain_id: options.chainId,\n start: options.start,\n end: options.end,\n granularity: options.granularity,\n limit: options.limit,\n });\n }\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["VaultId", "base"]
7
+ }
@@ -2,7 +2,7 @@ import {
2
2
  GauntletApi,
3
3
  RpcNotConfiguredError,
4
4
  UnimplementedFeatureError
5
- } from "./chunk-HC2BS7MK.js";
5
+ } from "./chunk-JJOLVL5V.js";
6
6
 
7
7
  // manifest/vaults.json
8
8
  var vaults_default = {
@@ -2006,4 +2006,4 @@ export {
2006
2006
  bundledVaultManifest,
2007
2007
  GauntletClient
2008
2008
  };
2009
- //# sourceMappingURL=chunk-S2TTA45N.js.map
2009
+ //# sourceMappingURL=chunk-JRSNLXFY.js.map