tapimo 0.4.3 → 0.5.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.
Files changed (192) hide show
  1. package/dist/App.d.ts +7222 -6316
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +4 -0
  4. package/dist/App.js.map +1 -1
  5. package/dist/Scope.d.ts +18 -1
  6. package/dist/Scope.d.ts.map +1 -1
  7. package/dist/Scope.js +24 -3
  8. package/dist/Scope.js.map +1 -1
  9. package/dist/admin/apps/verified-tokens.d.ts +116 -116
  10. package/dist/apps/data/App.d.ts +2541 -2607
  11. package/dist/apps/data/App.d.ts.map +1 -1
  12. package/dist/apps/data/App.js +135 -44
  13. package/dist/apps/data/App.js.map +1 -1
  14. package/dist/apps/data/FundingQuoteProviders.d.ts +36 -0
  15. package/dist/apps/data/FundingQuoteProviders.d.ts.map +1 -0
  16. package/dist/apps/data/FundingQuoteProviders.js +190 -0
  17. package/dist/apps/data/FundingQuoteProviders.js.map +1 -0
  18. package/dist/apps/data/index.d.ts +1 -1
  19. package/dist/apps/data/index.js +1 -1
  20. package/dist/apps/data/routes/activities.d.ts +242 -242
  21. package/dist/apps/data/routes/addresses.d.ts +227 -227
  22. package/dist/apps/data/routes/balances.d.ts +12 -12
  23. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  24. package/dist/apps/data/routes/balances.js +67 -149
  25. package/dist/apps/data/routes/balances.js.map +1 -1
  26. package/dist/apps/data/routes/blocks.d.ts +125 -126
  27. package/dist/apps/data/routes/blocks.d.ts.map +1 -1
  28. package/dist/apps/data/routes/blocks.js +3 -5
  29. package/dist/apps/data/routes/blocks.js.map +1 -1
  30. package/dist/apps/data/routes/coingecko.d.ts +55 -54
  31. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  32. package/dist/apps/data/routes/coingecko.js +3 -8
  33. package/dist/apps/data/routes/coingecko.js.map +1 -1
  34. package/dist/apps/data/routes/exchanges.d.ts +455 -455
  35. package/dist/apps/data/routes/fee-amm.d.ts +92 -92
  36. package/dist/apps/data/routes/funding.d.ts +91 -864
  37. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  38. package/dist/apps/data/routes/funding.js +138 -450
  39. package/dist/apps/data/routes/funding.js.map +1 -1
  40. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  41. package/dist/apps/data/routes/rpc.js +86 -16
  42. package/dist/apps/data/routes/rpc.js.map +1 -1
  43. package/dist/apps/data/routes/tokenlist.d.ts +36 -36
  44. package/dist/apps/data/routes/webhooks.d.ts +340 -0
  45. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  46. package/dist/apps/data/routes/webhooks.js +13 -1
  47. package/dist/apps/data/routes/webhooks.js.map +1 -1
  48. package/dist/apps/index.d.ts +1 -1
  49. package/dist/apps/index.js +1 -1
  50. package/dist/apps/management/App.d.ts +1843 -861
  51. package/dist/apps/management/App.d.ts.map +1 -1
  52. package/dist/apps/management/App.js +4 -0
  53. package/dist/apps/management/App.js.map +1 -1
  54. package/dist/apps/management/routes/api-keys.d.ts +121 -121
  55. package/dist/apps/management/routes/api-keys.js +2 -2
  56. package/dist/apps/management/routes/api-keys.js.map +1 -1
  57. package/dist/apps/management/routes/billing.d.ts +2 -2
  58. package/dist/apps/management/routes/invite-links.d.ts +1100 -0
  59. package/dist/apps/management/routes/invite-links.d.ts.map +1 -0
  60. package/dist/apps/management/routes/invite-links.js +411 -0
  61. package/dist/apps/management/routes/invite-links.js.map +1 -0
  62. package/dist/apps/management/routes/me.d.ts +13 -13
  63. package/dist/apps/management/routes/members.d.ts +77 -77
  64. package/dist/apps/management/routes/orgs.d.ts +96 -96
  65. package/dist/apps/management/routes/projects.d.ts +62 -62
  66. package/dist/apps/management/routes/scopes.d.ts +11 -11
  67. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  68. package/dist/apps/management/routes/scopes.js +2 -2
  69. package/dist/apps/management/routes/scopes.js.map +1 -1
  70. package/dist/apps/management/routes/usage.d.ts +79 -79
  71. package/dist/apps/mcp.d.ts.map +1 -1
  72. package/dist/apps/mcp.js +3 -1
  73. package/dist/apps/mcp.js.map +1 -1
  74. package/dist/apps/relay/App.d.ts.map +1 -1
  75. package/dist/apps/relay/App.js +42 -4
  76. package/dist/apps/relay/App.js.map +1 -1
  77. package/dist/cloudflare.d.ts +2 -0
  78. package/dist/cloudflare.d.ts.map +1 -1
  79. package/dist/cloudflare.js +4 -0
  80. package/dist/cloudflare.js.map +1 -1
  81. package/dist/db/Db.d.ts +3 -0
  82. package/dist/db/Db.d.ts.map +1 -1
  83. package/dist/db/Db.js +57 -0
  84. package/dist/db/Db.js.map +1 -1
  85. package/dist/db/Schema.d.ts +31 -0
  86. package/dist/db/Schema.d.ts.map +1 -1
  87. package/dist/db/Schema.js +31 -0
  88. package/dist/db/Schema.js.map +1 -1
  89. package/dist/db/tables/inviteLinks.d.ts +42 -0
  90. package/dist/db/tables/inviteLinks.d.ts.map +1 -0
  91. package/dist/db/tables/inviteLinks.js +148 -0
  92. package/dist/db/tables/inviteLinks.js.map +1 -0
  93. package/dist/db/tables/organizations.d.ts.map +1 -1
  94. package/dist/db/tables/organizations.js +2 -0
  95. package/dist/db/tables/organizations.js.map +1 -1
  96. package/dist/handlers/relay.d.ts.map +1 -1
  97. package/dist/handlers/relay.js +13 -3
  98. package/dist/handlers/relay.js.map +1 -1
  99. package/dist/internal/Auth.d.ts +42 -23
  100. package/dist/internal/Auth.d.ts.map +1 -1
  101. package/dist/internal/Auth.js +169 -20
  102. package/dist/internal/Auth.js.map +1 -1
  103. package/dist/internal/EdgeCache.d.ts +3 -1
  104. package/dist/internal/EdgeCache.d.ts.map +1 -1
  105. package/dist/internal/EdgeCache.js +17 -2
  106. package/dist/internal/EdgeCache.js.map +1 -1
  107. package/dist/internal/Errors.d.ts +6 -0
  108. package/dist/internal/Errors.d.ts.map +1 -0
  109. package/dist/internal/Errors.js +16 -0
  110. package/dist/internal/Errors.js.map +1 -0
  111. package/dist/internal/FundingQuotes.d.ts +644 -0
  112. package/dist/internal/FundingQuotes.d.ts.map +1 -0
  113. package/dist/internal/{FundingRoutes.js → FundingQuotes.js} +93 -289
  114. package/dist/internal/FundingQuotes.js.map +1 -0
  115. package/dist/internal/Store.d.ts +61 -16
  116. package/dist/internal/Store.d.ts.map +1 -1
  117. package/dist/internal/Store.js +72 -17
  118. package/dist/internal/Store.js.map +1 -1
  119. package/dist/internal/Viem.d.ts +2 -0
  120. package/dist/internal/Viem.d.ts.map +1 -1
  121. package/dist/internal/Viem.js +11 -2
  122. package/dist/internal/Viem.js.map +1 -1
  123. package/dist/internal/index.d.ts +27 -0
  124. package/dist/internal/index.d.ts.map +1 -0
  125. package/dist/internal/index.js +27 -0
  126. package/dist/internal/index.js.map +1 -0
  127. package/package.json +8 -3
  128. package/src/ApiKeys.test.ts +23 -0
  129. package/src/App.test-d.ts +2 -0
  130. package/src/App.test.ts +60 -4
  131. package/src/App.ts +6 -0
  132. package/src/Client.test-d.ts +16 -54
  133. package/src/Scope.test.ts +1 -0
  134. package/src/Scope.ts +30 -4
  135. package/src/apps/data/App.test.ts +354 -0
  136. package/src/apps/data/App.ts +159 -52
  137. package/src/apps/data/FundingQuoteProviders.test.ts +151 -0
  138. package/src/apps/data/FundingQuoteProviders.ts +251 -0
  139. package/src/apps/data/index.ts +1 -1
  140. package/src/apps/data/routes/balances.test.ts +64 -18
  141. package/src/apps/data/routes/balances.ts +76 -177
  142. package/src/apps/data/routes/blocks.ts +3 -5
  143. package/src/apps/data/routes/coingecko.ts +3 -8
  144. package/src/apps/data/routes/funding.test.ts +149 -306
  145. package/src/apps/data/routes/funding.ts +154 -604
  146. package/src/apps/data/routes/indexer.test.ts +99 -3
  147. package/src/apps/data/routes/rpc.test.ts +219 -0
  148. package/src/apps/data/routes/rpc.ts +92 -17
  149. package/src/apps/data/routes/webhooks.test.ts +23 -2
  150. package/src/apps/data/routes/webhooks.ts +13 -1
  151. package/src/apps/index.ts +1 -1
  152. package/src/apps/management/App.ts +4 -0
  153. package/src/apps/management/routes/api-keys.test.ts +47 -3
  154. package/src/apps/management/routes/api-keys.ts +2 -2
  155. package/src/apps/management/routes/invite-links.test.ts +385 -0
  156. package/src/apps/management/routes/invite-links.ts +570 -0
  157. package/src/apps/management/routes/scopes.test.ts +3 -2
  158. package/src/apps/management/routes/scopes.ts +4 -2
  159. package/src/apps/mcp.test.ts +55 -14
  160. package/src/apps/mcp.ts +3 -1
  161. package/src/apps/relay/App.test.ts +324 -4
  162. package/src/apps/relay/App.ts +40 -4
  163. package/src/cloudflare.ts +5 -0
  164. package/src/db/Db.ts +65 -0
  165. package/src/db/Schema.ts +39 -0
  166. package/src/db/tables/inviteLinks.ts +187 -0
  167. package/src/db/tables/organizations.ts +2 -0
  168. package/src/handlers/relay.ts +16 -4
  169. package/src/internal/Auth.test.ts +528 -37
  170. package/src/internal/Auth.ts +246 -45
  171. package/src/internal/EdgeCache.test.ts +24 -3
  172. package/src/internal/EdgeCache.ts +18 -2
  173. package/src/internal/FundingQuotes.test.ts +174 -0
  174. package/src/internal/FundingQuotes.ts +735 -0
  175. package/src/internal/Log.test.ts +4 -4
  176. package/src/internal/Store.test-d.ts +15 -0
  177. package/src/internal/Store.test.ts +153 -2
  178. package/src/internal/Store.ts +157 -41
  179. package/src/internal/Viem.ts +14 -5
  180. package/src/internal/index.test.ts +34 -0
  181. package/src/internal/index.ts +26 -0
  182. package/dist/apps/data/FundingRouteProviders.d.ts +0 -143
  183. package/dist/apps/data/FundingRouteProviders.d.ts.map +0 -1
  184. package/dist/apps/data/FundingRouteProviders.js +0 -546
  185. package/dist/apps/data/FundingRouteProviders.js.map +0 -1
  186. package/dist/internal/FundingRoutes.d.ts +0 -1085
  187. package/dist/internal/FundingRoutes.d.ts.map +0 -1
  188. package/dist/internal/FundingRoutes.js.map +0 -1
  189. package/src/apps/data/FundingRouteProviders.test.ts +0 -485
  190. package/src/apps/data/FundingRouteProviders.ts +0 -744
  191. package/src/internal/FundingRoutes.test.ts +0 -239
  192. package/src/internal/FundingRoutes.ts +0 -1067
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FundingQuotes.d.ts","sourceRoot":"","sources":["../../src/internal/FundingQuotes.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const destinationChain = {
7
7
  };
8
8
  /** Tempo token used when the caller omits `destinationToken`. */
9
9
  const defaultDestinationToken = 'usdce';
10
- /** Source chains accepted by the funding route inventory. */
10
+ /** Source chains considered by funding quote providers. */
11
11
  const sourceChains = [
12
12
  {
13
13
  addressFormat: 'evm',
@@ -16,10 +16,6 @@ const sourceChains = [
16
16
  kind: 'evm',
17
17
  name: 'Ethereum',
18
18
  providerIds: {
19
- across: '1',
20
- bridge: 'ethereum',
21
- bungee: '1',
22
- lifi: '1',
23
19
  relay: '1',
24
20
  },
25
21
  slug: 'ethereum',
@@ -73,10 +69,6 @@ const sourceChains = [
73
69
  kind: 'evm',
74
70
  name: 'Base',
75
71
  providerIds: {
76
- across: '8453',
77
- bridge: 'base',
78
- bungee: '8453',
79
- lifi: '8453',
80
72
  relay: '8453',
81
73
  },
82
74
  slug: 'base',
@@ -114,9 +106,6 @@ const sourceChains = [
114
106
  kind: 'evm',
115
107
  name: 'BNB Smart Chain',
116
108
  providerIds: {
117
- across: '56',
118
- bungee: '56',
119
- lifi: '56',
120
109
  relay: '56',
121
110
  },
122
111
  slug: 'bnb',
@@ -139,60 +128,8 @@ const sourceChains = [
139
128
  },
140
129
  ],
141
130
  },
142
- {
143
- addressFormat: 'solana',
144
- aliases: ['solana', 'solana:mainnet'],
145
- id: 'solana:mainnet',
146
- kind: 'solana',
147
- name: 'Solana',
148
- providerIds: {
149
- bridge: 'solana',
150
- relay: 'solana',
151
- },
152
- slug: 'solana',
153
- tokens: [
154
- {
155
- address: 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v',
156
- coingeckoId: 'usd-coin',
157
- decimals: 6,
158
- name: 'USD Coin',
159
- standard: 'SPL',
160
- symbol: 'USDC',
161
- },
162
- {
163
- address: 'Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v',
164
- coingeckoId: 'tether',
165
- decimals: 6,
166
- name: 'Tether USD',
167
- standard: 'SPL',
168
- symbol: 'USDT',
169
- },
170
- ],
171
- },
172
- {
173
- addressFormat: 'tron',
174
- aliases: ['tron', 'tron:mainnet'],
175
- id: 'tron:mainnet',
176
- kind: 'tron',
177
- name: 'Tron',
178
- providerIds: {
179
- bridge: 'tron',
180
- relay: 'tron',
181
- },
182
- slug: 'tron',
183
- tokens: [
184
- {
185
- address: 'TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t',
186
- coingeckoId: 'tether',
187
- decimals: 6,
188
- name: 'Tether USD',
189
- standard: 'TRC-20',
190
- symbol: 'USDT',
191
- },
192
- ],
193
- },
194
131
  ];
195
- /** Tempo destination tokens supported by the initial funding route inventory. */
132
+ /** Tempo destination tokens supported by funding quote providers. */
196
133
  const destinationTokens = [
197
134
  {
198
135
  address: '0x20c0000000000000000000000000000000000000',
@@ -235,105 +172,54 @@ const destinationTokens = [
235
172
  symbol: 'frxUSD',
236
173
  },
237
174
  ];
238
- /** Providers exposed by the generic provider catalog. */
175
+ /** Providers supported by live funding quotes. */
239
176
  const providers = [
240
177
  {
241
- capabilities: ['fundingRoutes'],
242
- id: 'across',
243
- kind: 'intentBridge',
244
- name: 'Across',
245
- requiresApiKey: true,
246
- status: 'inventoryOnly',
247
- },
248
- {
249
- capabilities: ['fundingRoutes'],
250
178
  id: 'relay',
251
179
  kind: 'solverNetwork',
252
180
  name: 'Relay',
253
181
  requiresApiKey: false,
254
- status: 'inventoryOnly',
255
- },
256
- {
257
- capabilities: ['fundingRoutes'],
258
- id: 'bridge',
259
- kind: 'enterpriseTransfer',
260
- name: 'Bridge.xyz',
261
- requiresApiKey: true,
262
- status: 'inventoryOnly',
263
- },
264
- {
265
- capabilities: ['fundingRoutes'],
266
- id: 'bungee',
267
- kind: 'aggregator',
268
- name: 'Bungee',
269
- requiresApiKey: false,
270
- status: 'inventoryOnly',
271
- },
272
- {
273
- capabilities: ['fundingRoutes'],
274
- id: 'lifi',
275
- kind: 'aggregator',
276
- name: 'LI.FI',
277
- requiresApiKey: true,
278
- status: 'planned',
182
+ status: 'unconfigured',
279
183
  },
280
184
  ];
281
- /** Static provider support rows used until live quote adapters are configured. */
185
+ /** Curated provider support rows used to select live quote probes. */
282
186
  const inventory = [
283
- { destinationToken: 'usdce', provider: 'across', sourceChains: ['ethereum', 'base', 'bnb'], sourceTokens: ['USDC'] }, // prettier-ignore
284
187
  { destinationToken: 'usdce', provider: 'relay', sourceChains: ['ethereum', 'base', 'bnb'], sourceTokens: ['USDC', 'USDT'] }, // prettier-ignore
285
- { destinationToken: 'usdce', provider: 'bridge', sourceChains: ['ethereum', 'base', 'solana'], sourceTokens: ['USDC'] }, // prettier-ignore
286
- { destinationToken: 'usdce', provider: 'bridge', sourceChains: ['ethereum', 'solana', 'tron'], sourceTokens: ['USDT'] }, // prettier-ignore
287
- { destinationToken: 'usdce', provider: 'bungee', sourceChains: ['ethereum', 'base', 'bnb'], sourceTokens: ['USDC'] }, // prettier-ignore
288
188
  ];
289
- const defaultAdapterTimeoutMs = 750;
290
- const defaultQuoteTimeoutMs = 5_000;
291
- const includes = ['quotes'];
292
- /** Lists normalized chains and source tokens that can fund Tempo. */
189
+ const defaultAdapterTimeoutMs = 2_000;
190
+ /** Lists normalized chains and source tokens supported by quote providers. */
293
191
  export function listChains() {
294
- return sourceChains.map((chain) => ({
295
- ...formatChain(chain),
296
- tokens: chain.tokens.map((token) => formatSourceToken(chain, token)),
297
- }));
192
+ return sourceChains.flatMap((chain) => {
193
+ const symbols = new Set(inventory
194
+ .filter((entry) => entry.sourceChains.includes(chain.slug))
195
+ .flatMap((entry) => entry.sourceTokens));
196
+ if (symbols.size === 0)
197
+ return [];
198
+ return [
199
+ {
200
+ ...formatChain(chain),
201
+ tokens: chain.tokens
202
+ .filter((token) => symbols.has(token.symbol))
203
+ .map((token) => formatSourceToken(chain, token)),
204
+ },
205
+ ];
206
+ });
298
207
  }
299
- /** Lists providers, optionally filtered by one provider capability. */
208
+ /** Lists funding quote providers and their deployment status. */
300
209
  export function listProviders(options = {}) {
301
- return providers
302
- .filter((provider) => options.capability === undefined ? true : provider.capabilities.includes(options.capability))
303
- .map((provider) => ({
210
+ return providers.map((provider) => ({
304
211
  ...formatProvider(provider),
305
- status: options.adapters?.[provider.id] || options.configuredProviders?.includes(provider.id)
306
- ? 'configured'
307
- : provider.status,
212
+ status: options.adapters?.[provider.id] ? 'configured' : provider.status,
308
213
  }));
309
214
  }
310
- /** Parses the comma-separated `include` query parameter. */
311
- export function parseInclude(input) {
312
- if (input === undefined || input.trim() === '')
313
- return [];
314
- const parsed = input
315
- .split(',')
316
- .map((part) => part.trim())
317
- .filter(Boolean);
318
- for (const include of parsed)
319
- if (!includes.includes(include))
320
- throw new UnsupportedIncludeError();
321
- return [...new Set(parsed)];
322
- }
323
- /** Lists funding route candidates, enriching static inventory when adapters are configured. */
324
- export async function listRoutes(options) {
325
- const routes = listStaticRoutes(options);
326
- const adapterEntries = Object.entries(options.adapters ?? {});
327
- if (adapterEntries.length === 0)
328
- return routes;
329
- return Promise.all(routes.map((route) => enrichRoute(route, {
215
+ /** Returns successful live funding quotes from configured providers. */
216
+ export async function listQuotes(options) {
217
+ const candidates = listQuoteCandidates(options);
218
+ const results = await Promise.allSettled(candidates.map((candidate) => quoteCandidate(candidate, {
330
219
  adapters: options.adapters ?? {},
331
220
  cache: options.cache ?? { bypass: false },
332
- include: options.include ?? [],
333
221
  request: {
334
222
  destinationToken: options.destinationToken,
335
- include: options.include ?? [],
336
- limit: options.limit,
337
223
  provider: options.provider,
338
224
  sourceAmount: options.sourceAmount,
339
225
  sourceAmountUnits: options.sourceAmountUnits,
@@ -342,31 +228,13 @@ export async function listRoutes(options) {
342
228
  },
343
229
  timeoutMs: options.adapterTimeoutMs ?? defaultAdapterTimeoutMs,
344
230
  })));
231
+ const quotes = results.flatMap((result) => result.status === 'fulfilled' && result.value ? [result.value] : []);
232
+ if (quotes.length === 0 && results.some((result) => result.status === 'rejected'))
233
+ throw new ProviderQuoteError();
234
+ return quotes;
345
235
  }
346
- /** Gets a depositor-specific quote for one curated funding route. */
347
- export async function quoteRoute(options) {
348
- const [route] = listStaticRoutes({
349
- destinationToken: options.destinationToken,
350
- limit: 1,
351
- provider: options.provider,
352
- sourceAmount: options.sourceAmount,
353
- sourceAmountUnits: options.sourceAmountUnits,
354
- sourceChain: options.sourceChain,
355
- sourceToken: options.sourceToken,
356
- });
357
- if (!route)
358
- throw new FundingRouteNotFoundError();
359
- const quote = options.quote;
360
- if (!quote)
361
- throw new ProviderNotConfiguredError();
362
- return formatFundingQuote(route, await runWithTimeout((signal) => quote({
363
- depositor: options.depositor,
364
- ...(options.recipient === undefined ? {} : { recipient: options.recipient }),
365
- route,
366
- }, signal), options.quoteTimeoutMs ?? defaultQuoteTimeoutMs));
367
- }
368
- /** Lists static funding route candidates for a normalized caller request. */
369
- export function listStaticRoutes(options) {
236
+ /** Lists internal quote candidates for a normalized caller request. */
237
+ export function listQuoteCandidates(options) {
370
238
  const sourceChain = resolveSourceChain(options.sourceChain);
371
239
  const sourceToken = resolveSourceToken(sourceChain, options.sourceToken);
372
240
  const destinationToken = resolveDestinationToken(options.destinationToken);
@@ -385,8 +253,7 @@ export function listStaticRoutes(options) {
385
253
  .filter((entry) => entry.sourceTokens.includes(sourceToken.symbol))
386
254
  .filter((entry) => entry.destinationToken === destinationToken.slug)
387
255
  .filter((entry) => provider === undefined || entry.provider === provider.id)
388
- .slice(0, options.limit)
389
- .map((entry) => formatRouteCandidate({
256
+ .map((entry) => formatQuoteCandidate({
390
257
  destinationToken,
391
258
  provider: providers.find((candidate) => candidate.id === entry.provider),
392
259
  sourceAmount,
@@ -395,8 +262,7 @@ export function listStaticRoutes(options) {
395
262
  }));
396
263
  }
397
264
  function tokenKey(chain, token) {
398
- const standard = token.standard === 'SPL' ? 'spl' : token.standard === 'TRC-20' ? 'trc20' : 'erc20';
399
- return `${chain.id}/${standard}:${token.address}`;
265
+ return `${chain.id}/erc20:${token.address}`;
400
266
  }
401
267
  function decimalFromBaseUnits(baseUnits, decimals) {
402
268
  const padded = baseUnits.padStart(decimals + 1, '0');
@@ -404,37 +270,31 @@ function decimalFromBaseUnits(baseUnits, decimals) {
404
270
  const fraction = decimals === 0 ? '' : padded.slice(-decimals).replace(/0+$/, '');
405
271
  return fraction ? `${whole}.${fraction}` : whole;
406
272
  }
407
- async function enrichRoute(route, options) {
408
- const adapter = options.adapters[route.provider.id];
273
+ async function quoteCandidate(candidate, options) {
274
+ const adapter = options.adapters[candidate.provider.id];
409
275
  if (!adapter)
410
- return route;
411
- try {
412
- const quote = await runWithTimeout((signal) => adapter.probeQuote({
413
- cache: options.cache,
414
- destinationChain: route.destinationChain,
415
- destinationToken: route.destinationToken,
416
- include: options.include,
417
- request: options.request,
418
- route,
419
- sourceAmount: route.sourceAmount,
420
- sourceChain: route.sourceChain,
421
- sourceToken: route.sourceToken,
422
- }, signal), options.timeoutMs);
423
- return {
424
- ...route,
425
- errorCode: quote.errorCode ?? null,
426
- quality: {
427
- ...route.quality,
428
- ...(quote.status === 'error' ? { tier: 'error' } : {}),
429
- ...quote.quality,
430
- },
431
- quote: quote.status === 'error' ? null : formatRouteQuote(route, quote),
432
- status: quote.status,
433
- };
434
- }
435
- catch (cause) {
436
- return markRouteError(route, cause instanceof ProviderAdapterTimeoutError ? 'provider_timeout' : 'provider_error'); // prettier-ignore
437
- }
276
+ return undefined;
277
+ const quote = await runWithTimeout((signal) => adapter.probeQuote({
278
+ cache: options.cache,
279
+ destinationChain: candidate.destinationChain,
280
+ destinationToken: candidate.destinationToken,
281
+ request: options.request,
282
+ candidate,
283
+ sourceAmount: candidate.sourceAmount,
284
+ sourceChain: candidate.sourceChain,
285
+ sourceToken: candidate.sourceToken,
286
+ }, signal), options.timeoutMs);
287
+ if (quote.status === 'unavailable')
288
+ return undefined;
289
+ if ((quote.status !== 'available' && quote.status !== 'thin') ||
290
+ quote.outputAmount === undefined ||
291
+ quote.outputAmount === null)
292
+ throw new ProviderQuoteError();
293
+ return formatFundingQuote(candidate, {
294
+ ...quote,
295
+ outputAmount: quote.outputAmount,
296
+ status: quote.status,
297
+ });
438
298
  }
439
299
  function formatChain(chain) {
440
300
  const { addressFormat, id, kind, name, providerIds } = chain;
@@ -454,17 +314,16 @@ function formatDestinationToken(token) {
454
314
  }
455
315
  function formatProvider(provider) {
456
316
  const { id, kind, name, requiresApiKey, status } = provider;
457
- return { capabilities: [...provider.capabilities], id, kind, name, requiresApiKey, status };
317
+ return { id, kind, name, requiresApiKey, status };
458
318
  }
459
319
  function formatProviderRef(provider) {
460
320
  const { id, kind, name, requiresApiKey } = provider;
461
321
  return { id, kind, name, requiresApiKey };
462
322
  }
463
- function formatRouteCandidate(options) {
323
+ function formatQuoteCandidate(options) {
464
324
  return {
465
325
  destinationChain,
466
326
  destinationToken: formatDestinationToken(options.destinationToken),
467
- errorCode: null,
468
327
  id: [
469
328
  options.sourceChain.slug,
470
329
  options.sourceToken.symbol.toLowerCase(),
@@ -473,22 +332,9 @@ function formatRouteCandidate(options) {
473
332
  options.provider.id,
474
333
  ].join('-'),
475
334
  provider: formatProviderRef(options.provider),
476
- quality: {
477
- availableVolumeUsd: null,
478
- estimatedSeconds: null,
479
- feeBps: null,
480
- historicalVolumeUsd24h: null,
481
- instantVolumeUsd: null,
482
- liquiditySource: 'staticInventory',
483
- score: null,
484
- sourceDetail: null,
485
- tier: 'unknown',
486
- },
487
- quote: null,
488
335
  sourceAmount: options.sourceAmount,
489
336
  sourceChain: formatChain(options.sourceChain),
490
337
  sourceToken: formatSourceToken(options.sourceChain, options.sourceToken),
491
- status: 'unknown',
492
338
  };
493
339
  }
494
340
  function formatSourceToken(chain, token) {
@@ -522,54 +368,29 @@ function parseDecimalUnits(value, decimals) {
522
368
  throw new InvalidAmountError();
523
369
  return baseUnits.toString();
524
370
  }
525
- function formatRouteQuote(route, quote) {
371
+ function formatFundingQuote(candidate, quote) {
526
372
  return {
527
- expiresAt: quote.expiresAt ?? null,
528
- inputAmount: route.sourceAmount.amount,
529
- limits: quote.limits
530
- ? {
531
- instantSourceAmount: quote.limits.instantSourceAmount ?? null,
532
- maxSourceAmount: quote.limits.maxSourceAmount ?? null,
533
- minSourceAmount: quote.limits.minSourceAmount ?? null,
534
- }
535
- : null,
536
- minimumOutputAmount: quote.minimumOutputAmount ?? null,
537
- outputAmount: quote.outputAmount ?? null,
538
- outputAmountFormatted: quote.outputAmountFormatted ?? null,
539
- sampledAt: quote.sampledAt,
540
- };
541
- }
542
- function formatFundingQuote(route, quote) {
543
- return {
544
- destinationChain: route.destinationChain,
545
- destinationToken: route.destinationToken,
546
- estimatedSeconds: quote.estimatedSeconds,
547
- expiresAt: quote.expiresAt,
548
- fees: quote.fees,
549
- inputAmount: route.sourceAmount.amount,
550
- minimumOutputAmount: quote.minimumOutputAmount,
551
- outputAmount: quote.outputAmount,
552
- outputAmountFormatted: decimalFromBaseUnits(quote.outputAmount, route.destinationToken.decimals),
553
- provider: route.provider,
554
- routeId: route.id,
555
- sampledAt: quote.sampledAt,
556
- sourceChain: route.sourceChain,
557
- sourceToken: route.sourceToken,
558
- };
559
- }
560
- function markRouteError(route, errorCode) {
561
- return {
562
- ...route,
563
- errorCode,
373
+ ...candidate,
564
374
  quality: {
565
- ...route.quality,
566
- liquiditySource: 'providerError',
567
- score: null,
568
- sourceDetail: null,
569
- tier: 'error',
375
+ ...(quote.quality?.estimatedSeconds !== undefined
376
+ ? { estimatedSeconds: quote.quality.estimatedSeconds }
377
+ : {}),
378
+ liquiditySource: quote.quality?.liquiditySource ?? 'providerQuote',
379
+ ...(quote.quality?.sourceDetail !== undefined
380
+ ? { sourceDetail: quote.quality.sourceDetail }
381
+ : {}),
382
+ tier: quote.status === 'thin' ? 'thin' : 'liquid',
383
+ },
384
+ quote: {
385
+ inputAmount: candidate.sourceAmount.amount,
386
+ ...(quote.minimumOutputAmount !== undefined
387
+ ? { minimumOutputAmount: quote.minimumOutputAmount }
388
+ : {}),
389
+ outputAmount: quote.outputAmount,
390
+ outputAmountFormatted: quote.outputAmountFormatted ??
391
+ decimalFromBaseUnits(quote.outputAmount, candidate.destinationToken.decimals),
392
+ sampledAt: quote.sampledAt,
570
393
  },
571
- quote: null,
572
- status: 'error',
573
394
  };
574
395
  }
575
396
  function runWithTimeout(fn, timeoutMs) {
@@ -613,7 +434,6 @@ function resolveSourceAmount(options) {
613
434
  return {
614
435
  amount,
615
436
  formatted: decimalFromBaseUnits(amount, options.token.decimals),
616
- usd: null,
617
437
  };
618
438
  }
619
439
  function resolveSourceToken(chain, input) {
@@ -646,42 +466,26 @@ function validateSourceAmountSyntax(value, units) {
646
466
  }
647
467
  /** Error thrown when the caller supplies an unsupported destination token. */
648
468
  export class UnsupportedDestinationTokenError extends Error {
649
- name = 'FundingRoutes.UnsupportedDestinationTokenError';
469
+ name = 'FundingQuotes.UnsupportedDestinationTokenError';
650
470
  }
651
471
  /** Error thrown when the caller supplies an invalid source amount. */
652
472
  export class InvalidAmountError extends Error {
653
- name = 'FundingRoutes.InvalidAmountError';
473
+ name = 'FundingQuotes.InvalidAmountError';
654
474
  }
655
- /** Error thrown when no curated route matches an explicit quote request. */
656
- export class FundingRouteNotFoundError extends Error {
657
- name = 'FundingRoutes.FundingRouteNotFoundError';
658
- }
659
- /** Error thrown internally when a provider adapter exceeds its route quote timeout. */
475
+ /** Error thrown internally when a provider adapter exceeds its quote timeout. */
660
476
  export class ProviderAdapterTimeoutError extends Error {
661
- name = 'FundingRoutes.ProviderAdapterTimeoutError';
662
- }
663
- /** Error thrown when a requested provider quote is temporarily unavailable. */
664
- export class ProviderQuoteUnavailableError extends Error {
665
- name = 'FundingRoutes.ProviderQuoteUnavailableError';
477
+ name = 'FundingQuotes.ProviderAdapterTimeoutError';
666
478
  }
667
- /** Error thrown when a provider rate-limits a quote request. */
668
- export class ProviderRateLimitError extends Error {
669
- name = 'FundingRoutes.ProviderRateLimitError';
670
- }
671
- /** Error thrown when a route provider lacks explicit quote capability. */
672
- export class ProviderNotConfiguredError extends Error {
673
- name = 'FundingRoutes.ProviderNotConfiguredError';
479
+ /** Error thrown when every matching provider fails to produce a quote. */
480
+ export class ProviderQuoteError extends Error {
481
+ name = 'FundingQuotes.ProviderQuoteError';
674
482
  }
675
483
  /** Error thrown when the caller filters to an unknown provider. */
676
484
  export class UnsupportedProviderError extends Error {
677
- name = 'FundingRoutes.UnsupportedProviderError';
678
- }
679
- /** Error thrown when the caller requests an unsupported include expansion. */
680
- export class UnsupportedIncludeError extends Error {
681
- name = 'FundingRoutes.UnsupportedIncludeError';
485
+ name = 'FundingQuotes.UnsupportedProviderError';
682
486
  }
683
487
  /** Error thrown when the caller supplies an unsupported source chain. */
684
488
  export class UnsupportedSourceChainError extends Error {
685
- name = 'FundingRoutes.UnsupportedSourceChainError';
489
+ name = 'FundingQuotes.UnsupportedSourceChainError';
686
490
  }
687
- //# sourceMappingURL=FundingRoutes.js.map
491
+ //# sourceMappingURL=FundingQuotes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FundingQuotes.js","sourceRoot":"","sources":["../../src/internal/FundingQuotes.ts"],"names":[],"mappings":"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"}