tapimo 0.3.0 → 0.4.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 (153) hide show
  1. package/README.md +5 -5
  2. package/dist/App.d.ts +31 -9
  3. package/dist/App.d.ts.map +1 -1
  4. package/dist/App.js +3 -3
  5. package/dist/App.js.map +1 -1
  6. package/dist/admin/App.d.ts +116 -116
  7. package/dist/apps/data/App.d.ts +30 -5
  8. package/dist/apps/data/App.d.ts.map +1 -1
  9. package/dist/apps/data/App.js +1 -1
  10. package/dist/apps/data/App.js.map +1 -1
  11. package/dist/apps/data/FundingRouteProviders.d.ts +54 -0
  12. package/dist/apps/data/FundingRouteProviders.d.ts.map +1 -0
  13. package/dist/apps/data/FundingRouteProviders.js +355 -0
  14. package/dist/apps/data/FundingRouteProviders.js.map +1 -0
  15. package/dist/apps/data/index.d.ts +1 -0
  16. package/dist/apps/data/index.d.ts.map +1 -1
  17. package/dist/apps/data/index.js +1 -0
  18. package/dist/apps/data/index.js.map +1 -1
  19. package/dist/apps/data/routes/funding.d.ts +79 -1
  20. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  21. package/dist/apps/data/routes/funding.js +68 -8
  22. package/dist/apps/data/routes/funding.js.map +1 -1
  23. package/dist/apps/data/routes/indexer.d.ts +5 -5
  24. package/dist/apps/docs/App.d.ts +1 -1
  25. package/dist/apps/docs/App.js +1 -1
  26. package/dist/apps/index.d.ts +2 -2
  27. package/dist/apps/index.d.ts.map +1 -1
  28. package/dist/apps/index.js +2 -2
  29. package/dist/apps/index.js.map +1 -1
  30. package/dist/apps/{platform → management}/App.d.ts +11 -11
  31. package/dist/apps/{platform → management}/App.d.ts.map +1 -1
  32. package/dist/apps/{platform → management}/App.js +7 -7
  33. package/dist/apps/management/App.js.map +1 -0
  34. package/dist/apps/management/Billing.d.ts.map +1 -0
  35. package/dist/apps/management/Billing.js.map +1 -0
  36. package/dist/apps/management/index.d.ts +3 -0
  37. package/dist/apps/management/index.d.ts.map +1 -0
  38. package/dist/apps/management/index.js +3 -0
  39. package/dist/apps/management/index.js.map +1 -0
  40. package/dist/apps/management/routes/api-keys.d.ts.map +1 -0
  41. package/dist/apps/{platform → management}/routes/api-keys.js +1 -1
  42. package/dist/apps/management/routes/api-keys.js.map +1 -0
  43. package/dist/apps/{platform → management}/routes/billing.d.ts.map +1 -1
  44. package/dist/apps/management/routes/billing.js.map +1 -0
  45. package/dist/apps/{platform → management}/routes/invitations.d.ts +1 -1
  46. package/dist/apps/management/routes/invitations.d.ts.map +1 -0
  47. package/dist/apps/{platform → management}/routes/invitations.js +1 -1
  48. package/dist/apps/management/routes/invitations.js.map +1 -0
  49. package/dist/apps/management/routes/me.d.ts.map +1 -0
  50. package/dist/apps/management/routes/me.js.map +1 -0
  51. package/dist/apps/management/routes/members.d.ts.map +1 -0
  52. package/dist/apps/management/routes/members.js.map +1 -0
  53. package/dist/apps/management/routes/orgs.d.ts.map +1 -0
  54. package/dist/apps/management/routes/orgs.js.map +1 -0
  55. package/dist/apps/{platform → management}/routes/projects.d.ts.map +1 -1
  56. package/dist/apps/management/routes/projects.js.map +1 -0
  57. package/dist/apps/management/routes/scopes.d.ts.map +1 -0
  58. package/dist/apps/management/routes/scopes.js.map +1 -0
  59. package/dist/apps/management/routes/usage.d.ts.map +1 -0
  60. package/dist/apps/management/routes/usage.js.map +1 -0
  61. package/dist/apps/mcp.js +1 -1
  62. package/dist/apps/relay/App.js +1 -1
  63. package/dist/apps/relay/App.js.map +1 -1
  64. package/dist/internal/Auth.js +1 -1
  65. package/dist/internal/Auth.js.map +1 -1
  66. package/dist/internal/EdgeCache.js +1 -1
  67. package/dist/internal/EdgeCache.js.map +1 -1
  68. package/dist/internal/FundingRoutes.d.ts +748 -16
  69. package/dist/internal/FundingRoutes.d.ts.map +1 -1
  70. package/dist/internal/FundingRoutes.js +166 -31
  71. package/dist/internal/FundingRoutes.js.map +1 -1
  72. package/package.json +5 -5
  73. package/src/App.ts +10 -10
  74. package/src/Client.test-d.ts +4 -4
  75. package/src/apps/composition.test.ts +26 -13
  76. package/src/apps/data/App.ts +3 -1
  77. package/src/apps/data/FundingRouteProviders.test.ts +281 -0
  78. package/src/apps/data/FundingRouteProviders.ts +459 -0
  79. package/src/apps/data/index.ts +1 -0
  80. package/src/apps/data/routes/funding.test.ts +102 -2
  81. package/src/apps/data/routes/funding.ts +122 -8
  82. package/src/apps/docs/App.ts +1 -1
  83. package/src/apps/index.ts +2 -2
  84. package/src/apps/{platform → management}/App.ts +14 -14
  85. package/src/apps/{platform → management}/index.ts +1 -1
  86. package/src/apps/{platform → management}/routes/api-keys.ts +1 -1
  87. package/src/apps/{platform → management}/routes/invitations.ts +1 -1
  88. package/src/apps/mcp.test.ts +1 -1
  89. package/src/apps/mcp.ts +1 -1
  90. package/src/apps/relay/App.test.ts +1 -1
  91. package/src/apps/relay/App.ts +1 -1
  92. package/src/internal/Auth.ts +1 -1
  93. package/src/internal/EdgeCache.ts +1 -1
  94. package/src/internal/FundingRoutes.test.ts +213 -0
  95. package/src/internal/FundingRoutes.ts +347 -32
  96. package/dist/apps/platform/App.js.map +0 -1
  97. package/dist/apps/platform/Billing.d.ts.map +0 -1
  98. package/dist/apps/platform/Billing.js.map +0 -1
  99. package/dist/apps/platform/index.d.ts +0 -3
  100. package/dist/apps/platform/index.d.ts.map +0 -1
  101. package/dist/apps/platform/index.js +0 -3
  102. package/dist/apps/platform/index.js.map +0 -1
  103. package/dist/apps/platform/routes/api-keys.d.ts.map +0 -1
  104. package/dist/apps/platform/routes/api-keys.js.map +0 -1
  105. package/dist/apps/platform/routes/billing.js.map +0 -1
  106. package/dist/apps/platform/routes/invitations.d.ts.map +0 -1
  107. package/dist/apps/platform/routes/invitations.js.map +0 -1
  108. package/dist/apps/platform/routes/me.d.ts.map +0 -1
  109. package/dist/apps/platform/routes/me.js.map +0 -1
  110. package/dist/apps/platform/routes/members.d.ts.map +0 -1
  111. package/dist/apps/platform/routes/members.js.map +0 -1
  112. package/dist/apps/platform/routes/orgs.d.ts.map +0 -1
  113. package/dist/apps/platform/routes/orgs.js.map +0 -1
  114. package/dist/apps/platform/routes/projects.js.map +0 -1
  115. package/dist/apps/platform/routes/scopes.d.ts.map +0 -1
  116. package/dist/apps/platform/routes/scopes.js.map +0 -1
  117. package/dist/apps/platform/routes/usage.d.ts.map +0 -1
  118. package/dist/apps/platform/routes/usage.js.map +0 -1
  119. /package/dist/apps/{platform → management}/Billing.d.ts +0 -0
  120. /package/dist/apps/{platform → management}/Billing.js +0 -0
  121. /package/dist/apps/{platform → management}/routes/api-keys.d.ts +0 -0
  122. /package/dist/apps/{platform → management}/routes/billing.d.ts +0 -0
  123. /package/dist/apps/{platform → management}/routes/billing.js +0 -0
  124. /package/dist/apps/{platform → management}/routes/me.d.ts +0 -0
  125. /package/dist/apps/{platform → management}/routes/me.js +0 -0
  126. /package/dist/apps/{platform → management}/routes/members.d.ts +0 -0
  127. /package/dist/apps/{platform → management}/routes/members.js +0 -0
  128. /package/dist/apps/{platform → management}/routes/orgs.d.ts +0 -0
  129. /package/dist/apps/{platform → management}/routes/orgs.js +0 -0
  130. /package/dist/apps/{platform → management}/routes/projects.d.ts +0 -0
  131. /package/dist/apps/{platform → management}/routes/projects.js +0 -0
  132. /package/dist/apps/{platform → management}/routes/scopes.d.ts +0 -0
  133. /package/dist/apps/{platform → management}/routes/scopes.js +0 -0
  134. /package/dist/apps/{platform → management}/routes/usage.d.ts +0 -0
  135. /package/dist/apps/{platform → management}/routes/usage.js +0 -0
  136. /package/src/apps/{platform → management}/Billing.test.ts +0 -0
  137. /package/src/apps/{platform → management}/Billing.ts +0 -0
  138. /package/src/apps/{platform → management}/routes/api-keys.test.ts +0 -0
  139. /package/src/apps/{platform → management}/routes/billing.test.ts +0 -0
  140. /package/src/apps/{platform → management}/routes/billing.ts +0 -0
  141. /package/src/apps/{platform → management}/routes/invitations.test.ts +0 -0
  142. /package/src/apps/{platform → management}/routes/me.test.ts +0 -0
  143. /package/src/apps/{platform → management}/routes/me.ts +0 -0
  144. /package/src/apps/{platform → management}/routes/members.test.ts +0 -0
  145. /package/src/apps/{platform → management}/routes/members.ts +0 -0
  146. /package/src/apps/{platform → management}/routes/orgs.test.ts +0 -0
  147. /package/src/apps/{platform → management}/routes/orgs.ts +0 -0
  148. /package/src/apps/{platform → management}/routes/projects.test.ts +0 -0
  149. /package/src/apps/{platform → management}/routes/projects.ts +0 -0
  150. /package/src/apps/{platform → management}/routes/scopes.test.ts +0 -0
  151. /package/src/apps/{platform → management}/routes/scopes.ts +0 -0
  152. /package/src/apps/{platform → management}/routes/usage.test.ts +0 -0
  153. /package/src/apps/{platform → management}/routes/usage.ts +0 -0
@@ -0,0 +1,355 @@
1
+ const defaultAcrossBaseUrl = 'https://app.across.to/api';
2
+ const defaultRelayBaseUrl = 'https://api.relay.link';
3
+ /** Creates the live funding route adapters configured for this deployment. */
4
+ export function createAdapters(options = {}) {
5
+ return {
6
+ ...(options.across ? { across: across(options.across) } : {}),
7
+ ...(options.relay ? { relay: relay(options.relay) } : {}),
8
+ };
9
+ }
10
+ /** Creates an Across quote adapter backed by `/suggested-fees`. */
11
+ export function across(options) {
12
+ const baseUrl = normalizeBaseUrl(options.baseUrl ?? defaultAcrossBaseUrl);
13
+ const fetcher = options.fetch ?? globalThis.fetch;
14
+ const now = options.now ?? (() => new Date());
15
+ return {
16
+ async probeQuote({ route }, signal) {
17
+ const sourceChainId = providerChainId(route.sourceChain, 'across');
18
+ const destinationChainId = eip155ChainId(route.destinationChain);
19
+ const url = new URL(`${baseUrl}/suggested-fees`);
20
+ url.search = new URLSearchParams({
21
+ allowUnmatchedDecimals: 'true',
22
+ amount: route.sourceAmount.amount,
23
+ destinationChainId,
24
+ inputToken: route.sourceToken.address,
25
+ integratorId: options.integratorId,
26
+ originChainId: sourceChainId,
27
+ outputToken: route.destinationToken.address,
28
+ }).toString();
29
+ try {
30
+ const body = await requestJson(url, {
31
+ fetcher,
32
+ headers: { Authorization: `Bearer ${options.apiKey}` },
33
+ signal,
34
+ });
35
+ return formatAcrossResult(route, body, now());
36
+ }
37
+ catch (cause) {
38
+ const unavailable = providerUnavailable(cause, ['AMOUNT_TOO_HIGH', 'AMOUNT_TOO_LOW']);
39
+ if (!unavailable)
40
+ throw cause;
41
+ return unavailableResult({
42
+ detail: 'across:suggested-fees',
43
+ message: unavailable,
44
+ now: now(),
45
+ source: 'providerLimit',
46
+ });
47
+ }
48
+ },
49
+ };
50
+ }
51
+ /** Creates a Relay quote adapter backed by `/chains/liquidity` and `/quote/v2`. */
52
+ export function relay(options) {
53
+ const baseUrl = normalizeBaseUrl(options.baseUrl ?? defaultRelayBaseUrl);
54
+ const fetcher = options.fetch ?? globalThis.fetch;
55
+ const now = options.now ?? (() => new Date());
56
+ return {
57
+ async probeQuote({ route }, signal) {
58
+ const originChainId = providerChainId(route.sourceChain, 'relay');
59
+ const destinationChainId = eip155ChainId(route.destinationChain);
60
+ const headers = relayHeaders(options.apiKey);
61
+ try {
62
+ const quote = await requestJson(new URL(`${baseUrl}/quote/v2`), {
63
+ body: {
64
+ amount: route.sourceAmount.amount,
65
+ destinationChainId: Number(destinationChainId),
66
+ destinationCurrency: route.destinationToken.address,
67
+ originChainId: Number(originChainId),
68
+ originCurrency: route.sourceToken.address,
69
+ recipient: options.recipientAddress ?? options.userAddress,
70
+ tradeType: 'EXACT_INPUT',
71
+ user: options.userAddress,
72
+ },
73
+ fetcher,
74
+ headers,
75
+ method: 'POST',
76
+ signal,
77
+ });
78
+ const liquidityUrl = new URL(`${baseUrl}/chains/liquidity`);
79
+ liquidityUrl.searchParams.set('chainId', destinationChainId);
80
+ const liquidity = await requestJson(liquidityUrl, { fetcher, headers, signal }).catch(() => undefined);
81
+ return formatRelayResult(route, quote, liquidity, now());
82
+ }
83
+ catch (cause) {
84
+ const unavailable = providerUnavailable(cause, [
85
+ 'NO_QUOTES',
86
+ 'NO_ROUTE',
87
+ 'UNSUPPORTED_ROUTE',
88
+ ]);
89
+ if (!unavailable)
90
+ throw cause;
91
+ return unavailableResult({
92
+ detail: 'relay:quote-v2',
93
+ message: unavailable,
94
+ now: now(),
95
+ source: 'providerQuote',
96
+ });
97
+ }
98
+ },
99
+ };
100
+ }
101
+ function formatAcrossResult(route, body, now) {
102
+ const response = record(body);
103
+ const timestamp = integerString(response['timestamp']);
104
+ const sampledAt = timestamp ? isoFromUnixSeconds(timestamp) : now.toISOString();
105
+ const limits = acrossLimits(response['limits']);
106
+ const amountStatus = statusFromLimits(route.sourceAmount.amount, limits);
107
+ const status = response['isAmountTooLow'] === true ? 'unavailable' : amountStatus.status;
108
+ const tier = response['isAmountTooLow'] === true ? 'unavailable' : amountStatus.tier;
109
+ const outputAmount = decimalString(response['outputAmount']);
110
+ return {
111
+ expiresAt: timestamp ? isoFromUnixSeconds((BigInt(timestamp) + 600n).toString()) : null,
112
+ limits,
113
+ outputAmount,
114
+ outputAmountFormatted: outputAmount
115
+ ? decimalFromBaseUnits(outputAmount, route.destinationToken.decimals)
116
+ : null,
117
+ quality: {
118
+ availableVolumeUsd: stablecoinUsdCapacity(route, limits?.maxSourceAmount),
119
+ estimatedSeconds: nonnegativeInteger(response['estimatedFillTimeSec']),
120
+ feeBps: scaledPctToBps(nestedString(response['totalRelayFee'], 'pct') ?? decimalString(response['relayFeePct'])),
121
+ historicalVolumeUsd24h: null,
122
+ instantVolumeUsd: stablecoinUsdCapacity(route, limits?.instantSourceAmount),
123
+ liquiditySource: 'providerLimit',
124
+ score: scoreFor(tier),
125
+ sourceDetail: 'across:suggested-fees',
126
+ tier,
127
+ },
128
+ sampledAt,
129
+ status,
130
+ };
131
+ }
132
+ function formatRelayResult(route, quote, liquidity, now) {
133
+ const details = record(record(quote)['details']);
134
+ const currencyOut = record(details['currencyOut']);
135
+ const outputAmount = decimalString(currencyOut['amount']);
136
+ const liquidityRow = relayLiquidity(liquidity, route);
137
+ const destinationLiquidity = decimalString(liquidityRow?.['balance']);
138
+ const availableVolumeUsd = decimalString(liquidityRow?.['amountUsd']) ?? null;
139
+ const liquidityStatus = relayLiquidityStatus({ destinationLiquidity, outputAmount });
140
+ return {
141
+ limits: null,
142
+ minimumOutputAmount: decimalString(currencyOut['minimumAmount']),
143
+ outputAmount,
144
+ outputAmountFormatted: outputAmount
145
+ ? decimalFromBaseUnits(outputAmount, route.destinationToken.decimals)
146
+ : null,
147
+ quality: {
148
+ availableVolumeUsd: availableVolumeUsd,
149
+ estimatedSeconds: nonnegativeInteger(details['timeEstimate']),
150
+ feeBps: null,
151
+ historicalVolumeUsd24h: null,
152
+ instantVolumeUsd: availableVolumeUsd,
153
+ liquiditySource: 'providerQuote',
154
+ score: scoreFor(liquidityStatus.tier),
155
+ sourceDetail: 'relay:quote-v2',
156
+ tier: liquidityStatus.tier,
157
+ },
158
+ sampledAt: now.toISOString(),
159
+ status: liquidityStatus.status,
160
+ };
161
+ }
162
+ function relayLiquidityStatus(options) {
163
+ if (!options.outputAmount)
164
+ return { status: 'unknown', tier: 'unknown' };
165
+ if (!options.destinationLiquidity)
166
+ return { status: 'unknown', tier: 'unknown' };
167
+ if (compareIntegerStrings(options.destinationLiquidity, options.outputAmount) < 0)
168
+ return { status: 'thin', tier: 'thin' };
169
+ return { status: 'available', tier: 'liquid' };
170
+ }
171
+ function unavailableResult(options) {
172
+ return {
173
+ quality: {
174
+ availableVolumeUsd: null,
175
+ estimatedSeconds: null,
176
+ feeBps: null,
177
+ historicalVolumeUsd24h: null,
178
+ instantVolumeUsd: null,
179
+ liquiditySource: options.source,
180
+ score: 0,
181
+ sourceDetail: `${options.detail}:${options.message}`,
182
+ tier: 'unavailable',
183
+ },
184
+ sampledAt: options.now.toISOString(),
185
+ status: 'unavailable',
186
+ };
187
+ }
188
+ function acrossLimits(input) {
189
+ const limits = record(input);
190
+ const minSourceAmount = decimalString(limits['minDeposit']);
191
+ const maxSourceAmount = decimalString(limits['maxDeposit']);
192
+ const instantSourceAmount = decimalString(limits['maxDepositInstant']) ?? decimalString(limits['recommendedDepositInstant']);
193
+ return minSourceAmount || maxSourceAmount || instantSourceAmount
194
+ ? { instantSourceAmount, maxSourceAmount, minSourceAmount }
195
+ : null;
196
+ }
197
+ function statusFromLimits(amount, limits) {
198
+ if (!limits)
199
+ return { status: 'available', tier: 'liquid' };
200
+ if (limits.minSourceAmount && compareIntegerStrings(amount, limits.minSourceAmount) < 0)
201
+ return { status: 'unavailable', tier: 'unavailable' };
202
+ if (limits.maxSourceAmount && compareIntegerStrings(amount, limits.maxSourceAmount) > 0)
203
+ return { status: 'unavailable', tier: 'unavailable' };
204
+ if (limits.instantSourceAmount && compareIntegerStrings(amount, limits.instantSourceAmount) > 0)
205
+ return { status: 'thin', tier: 'thin' };
206
+ return { status: 'available', tier: 'liquid' };
207
+ }
208
+ function relayLiquidity(input, route) {
209
+ const response = record(input);
210
+ const rows = Array.isArray(response['liquidity']) ? response['liquidity'] : [];
211
+ const destinationChainId = eip155ChainId(route.destinationChain);
212
+ return rows.map(record).find((row) => {
213
+ const rowChainId = integerString(row['chainId']);
214
+ const rowAddress = typeof row['address'] === 'string' ? row['address'].toLowerCase() : undefined;
215
+ return (rowChainId === destinationChainId &&
216
+ rowAddress === route.destinationToken.address.toLowerCase());
217
+ });
218
+ }
219
+ async function requestJson(url, options) {
220
+ const headers = { accept: 'application/json', ...options.headers };
221
+ const init = {
222
+ headers: options.body === undefined ? headers : { ...headers, 'content-type': 'application/json' },
223
+ method: options.method ?? 'GET',
224
+ signal: options.signal,
225
+ };
226
+ if (options.body !== undefined)
227
+ init.body = JSON.stringify(options.body);
228
+ const response = await options.fetcher(url, init);
229
+ const text = await response.text();
230
+ const body = parseJson(text);
231
+ if (!response.ok)
232
+ throw new ProviderResponseError(response.status, body);
233
+ return body;
234
+ }
235
+ function relayHeaders(apiKey) {
236
+ return apiKey ? { 'x-api-key': apiKey } : undefined;
237
+ }
238
+ function providerUnavailable(cause, codes) {
239
+ if (!(cause instanceof ProviderResponseError) || cause.status < 400 || cause.status >= 500)
240
+ return undefined;
241
+ const body = record(cause.body);
242
+ const code = stringValue(body['code']) ?? stringValue(body['errorCode']);
243
+ if (code && codes.includes(code))
244
+ return code;
245
+ return undefined;
246
+ }
247
+ class ProviderResponseError extends Error {
248
+ status;
249
+ body;
250
+ name = 'FundingRouteProviders.ProviderResponseError';
251
+ constructor(status, body) {
252
+ super(`Provider request failed with status ${status}`);
253
+ this.status = status;
254
+ this.body = body;
255
+ }
256
+ }
257
+ function providerChainId(routeChain, provider) {
258
+ const providerIds = routeChain.providerIds;
259
+ const id = providerIds?.[provider];
260
+ if (id && /^\d+$/.test(id))
261
+ return id;
262
+ return eip155ChainId(routeChain);
263
+ }
264
+ function eip155ChainId(chain) {
265
+ if (chain.kind !== 'evm')
266
+ throw new UnsupportedProviderRouteError();
267
+ const match = /^eip155:(\d+)$/.exec(chain.id);
268
+ if (!match?.[1])
269
+ throw new UnsupportedProviderRouteError();
270
+ return match[1];
271
+ }
272
+ class UnsupportedProviderRouteError extends Error {
273
+ name = 'FundingRouteProviders.UnsupportedProviderRouteError';
274
+ }
275
+ function normalizeBaseUrl(input) {
276
+ return input.replace(/\/+$/, '');
277
+ }
278
+ function parseJson(input) {
279
+ if (!input)
280
+ return null;
281
+ try {
282
+ return JSON.parse(input);
283
+ }
284
+ catch {
285
+ return input;
286
+ }
287
+ }
288
+ function record(input) {
289
+ return input && typeof input === 'object' && !Array.isArray(input)
290
+ ? input
291
+ : {};
292
+ }
293
+ function stringValue(input) {
294
+ return typeof input === 'string' && input.length > 0 ? input : undefined;
295
+ }
296
+ function decimalString(input) {
297
+ if (typeof input === 'string' && /^\d+(\.\d+)?$/.test(input))
298
+ return input;
299
+ if (typeof input === 'number' && Number.isFinite(input) && input >= 0)
300
+ return String(input);
301
+ return undefined;
302
+ }
303
+ function integerString(input) {
304
+ if (typeof input === 'string' && /^\d+$/.test(input))
305
+ return input;
306
+ if (typeof input === 'number' && Number.isSafeInteger(input) && input >= 0)
307
+ return String(input);
308
+ return undefined;
309
+ }
310
+ function nestedString(input, key) {
311
+ return decimalString(record(input)[key]);
312
+ }
313
+ function nonnegativeInteger(input) {
314
+ if (typeof input === 'number' && Number.isSafeInteger(input) && input >= 0)
315
+ return input;
316
+ if (typeof input === 'string' && /^\d+$/.test(input))
317
+ return Number(input);
318
+ return null;
319
+ }
320
+ function decimalFromBaseUnits(baseUnits, decimals) {
321
+ const padded = baseUnits.padStart(decimals + 1, '0');
322
+ const whole = decimals === 0 ? padded : padded.slice(0, -decimals);
323
+ const fraction = decimals === 0 ? '' : padded.slice(-decimals).replace(/0+$/, '');
324
+ return fraction ? `${whole}.${fraction}` : whole;
325
+ }
326
+ function compareIntegerStrings(left, right) {
327
+ return BigInt(left) === BigInt(right) ? 0 : BigInt(left) > BigInt(right) ? 1 : -1;
328
+ }
329
+ function isoFromUnixSeconds(input) {
330
+ return new Date(Number(input) * 1_000).toISOString();
331
+ }
332
+ function stablecoinUsdCapacity(route, baseUnits) {
333
+ if (!baseUnits || !isDollarStablecoin(route.sourceToken.symbol))
334
+ return null;
335
+ return decimalFromBaseUnits(baseUnits, route.sourceToken.decimals);
336
+ }
337
+ function isDollarStablecoin(symbol) {
338
+ return ['DAI', 'FRXUSD', 'PYUSD', 'USDC', 'USDC.E', 'USDT', 'USDT0'].includes(symbol.toUpperCase());
339
+ }
340
+ function scaledPctToBps(input) {
341
+ if (!input || !/^\d+$/.test(input))
342
+ return null;
343
+ const denominator = 1000000000000000000n;
344
+ return Number((BigInt(input) * 10000n + denominator / 2n) / denominator);
345
+ }
346
+ function scoreFor(tier) {
347
+ if (tier === 'liquid')
348
+ return 90;
349
+ if (tier === 'thin')
350
+ return 65;
351
+ if (tier === 'unavailable')
352
+ return 0;
353
+ return null;
354
+ }
355
+ //# sourceMappingURL=FundingRouteProviders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FundingRouteProviders.js","sourceRoot":"","sources":["../../../src/apps/data/FundingRouteProviders.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export { data } from './App.js';
2
+ export * as FundingRouteProviders from './FundingRouteProviders.js';
2
3
  export * as Sponsorships from '../relay/Sponsorships.js';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apps/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/apps/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA"}
@@ -1,3 +1,4 @@
1
1
  export { data } from './App.js';
2
+ export * as FundingRouteProviders from './FundingRouteProviders.js';
2
3
  export * as Sponsorships from '../relay/Sponsorships.js';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apps/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/apps/data/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAC/B,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAA;AACnE,OAAO,KAAK,YAAY,MAAM,0BAA0B,CAAA"}
@@ -1,5 +1,6 @@
1
1
  import * as z from 'zod/mini';
2
2
  import type * as App from '../../../App.js';
3
+ import * as FundingRoutes from '../../../internal/FundingRoutes.js';
3
4
  import * as Response from '../../../internal/Response.js';
4
5
  /** Zod schemas owned by the funding routes resource. */
5
6
  export declare namespace schema {
@@ -52,6 +53,7 @@ export declare namespace schema {
52
53
  instantVolumeUsd: z.ZodMiniNullable<z.ZodMiniString<string>>;
53
54
  liquiditySource: z.ZodMiniString<string>;
54
55
  score: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
56
+ sourceDetail: z.ZodMiniNullable<z.ZodMiniString<string>>;
55
57
  tier: z.ZodMiniEnum<{
56
58
  error: "error";
57
59
  liquid: "liquid";
@@ -60,6 +62,20 @@ export declare namespace schema {
60
62
  unknown: "unknown";
61
63
  }>;
62
64
  }, z.core.$strip>;
65
+ /** Provider-derived quote data for a route candidate. */
66
+ const RouteQuote: z.ZodMiniObject<{
67
+ expiresAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
68
+ inputAmount: z.ZodMiniString<string>;
69
+ limits: z.ZodMiniNullable<z.ZodMiniObject<{
70
+ instantSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
71
+ maxSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
72
+ minSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
73
+ }, z.core.$strip>>;
74
+ minimumOutputAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
75
+ outputAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
76
+ outputAmountFormatted: z.ZodMiniNullable<z.ZodMiniString<string>>;
77
+ sampledAt: z.ZodMiniISODateTime;
78
+ }, z.core.$strip>;
63
79
  /** Static or live funding route candidate. */
64
80
  const RouteCandidate: z.ZodMiniObject<{
65
81
  destinationChain: z.ZodMiniObject<{
@@ -87,6 +103,7 @@ export declare namespace schema {
87
103
  tokenKey: z.ZodMiniString<string>;
88
104
  verified: z.ZodMiniBoolean<boolean>;
89
105
  }, z.core.$strip>;
106
+ errorCode: z.ZodMiniNullable<z.ZodMiniString<string>>;
90
107
  id: z.ZodMiniString<string>;
91
108
  provider: z.ZodMiniObject<{
92
109
  id: z.ZodMiniString<string>;
@@ -102,6 +119,7 @@ export declare namespace schema {
102
119
  instantVolumeUsd: z.ZodMiniNullable<z.ZodMiniString<string>>;
103
120
  liquiditySource: z.ZodMiniString<string>;
104
121
  score: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
122
+ sourceDetail: z.ZodMiniNullable<z.ZodMiniString<string>>;
105
123
  tier: z.ZodMiniEnum<{
106
124
  error: "error";
107
125
  liquid: "liquid";
@@ -110,6 +128,19 @@ export declare namespace schema {
110
128
  unknown: "unknown";
111
129
  }>;
112
130
  }, z.core.$strip>;
131
+ quote: z.ZodMiniNullable<z.ZodMiniObject<{
132
+ expiresAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
133
+ inputAmount: z.ZodMiniString<string>;
134
+ limits: z.ZodMiniNullable<z.ZodMiniObject<{
135
+ instantSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
136
+ maxSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
137
+ minSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
138
+ }, z.core.$strip>>;
139
+ minimumOutputAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
140
+ outputAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
141
+ outputAmountFormatted: z.ZodMiniNullable<z.ZodMiniString<string>>;
142
+ sampledAt: z.ZodMiniISODateTime;
143
+ }, z.core.$strip>>;
113
144
  sourceAmount: z.ZodMiniObject<{
114
145
  amount: z.ZodMiniString<string>;
115
146
  formatted: z.ZodMiniString<string>;
@@ -194,6 +225,7 @@ export declare namespace schema {
194
225
  /** Query parameters for funding route discovery. */
195
226
  const Query: z.ZodMiniObject<{
196
227
  destinationToken: z.ZodMiniOptional<z.ZodMiniString<string>>;
228
+ include: z.ZodMiniOptional<z.ZodMiniString<string>>;
197
229
  limit: z.ZodMiniDefault<z.ZodMiniNumber<unknown>>;
198
230
  provider: z.ZodMiniOptional<z.ZodMiniString<string>>;
199
231
  sourceAmount: z.ZodMiniString<string>;
@@ -232,6 +264,7 @@ export declare namespace schema {
232
264
  tokenKey: z.ZodMiniString<string>;
233
265
  verified: z.ZodMiniBoolean<boolean>;
234
266
  }, z.core.$strip>;
267
+ errorCode: z.ZodMiniNullable<z.ZodMiniString<string>>;
235
268
  id: z.ZodMiniString<string>;
236
269
  provider: z.ZodMiniObject<{
237
270
  id: z.ZodMiniString<string>;
@@ -247,6 +280,7 @@ export declare namespace schema {
247
280
  instantVolumeUsd: z.ZodMiniNullable<z.ZodMiniString<string>>;
248
281
  liquiditySource: z.ZodMiniString<string>;
249
282
  score: z.ZodMiniNullable<z.ZodMiniNumber<number>>;
283
+ sourceDetail: z.ZodMiniNullable<z.ZodMiniString<string>>;
250
284
  tier: z.ZodMiniEnum<{
251
285
  error: "error";
252
286
  liquid: "liquid";
@@ -255,6 +289,19 @@ export declare namespace schema {
255
289
  unknown: "unknown";
256
290
  }>;
257
291
  }, z.core.$strip>;
292
+ quote: z.ZodMiniNullable<z.ZodMiniObject<{
293
+ expiresAt: z.ZodMiniNullable<z.ZodMiniISODateTime>;
294
+ inputAmount: z.ZodMiniString<string>;
295
+ limits: z.ZodMiniNullable<z.ZodMiniObject<{
296
+ instantSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
297
+ maxSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
298
+ minSourceAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
299
+ }, z.core.$strip>>;
300
+ minimumOutputAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
301
+ outputAmount: z.ZodMiniNullable<z.ZodMiniString<string>>;
302
+ outputAmountFormatted: z.ZodMiniNullable<z.ZodMiniString<string>>;
303
+ sampledAt: z.ZodMiniISODateTime;
304
+ }, z.core.$strip>>;
258
305
  sourceAmount: z.ZodMiniObject<{
259
306
  amount: z.ZodMiniString<string>;
260
307
  formatted: z.ZodMiniString<string>;
@@ -354,7 +401,7 @@ export declare namespace schema {
354
401
  }
355
402
  }
356
403
  /** Mounts funding route discovery and generic provider inventory endpoints. */
357
- export declare function funding(): import("hono/hono-base").HonoBase<App.Environment, {
404
+ export declare function funding(options?: funding.Options): import("hono/hono-base").HonoBase<App.Environment, {
358
405
  "/v1/funding/routes": {
359
406
  $get: {
360
407
  output: null;
@@ -363,6 +410,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
363
410
  input: {
364
411
  query: {
365
412
  destinationToken?: string | string[];
413
+ include?: string | string[];
366
414
  limit?: string | string[];
367
415
  provider?: string | string[];
368
416
  sourceAmount: string | string[];
@@ -385,6 +433,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
385
433
  input: {
386
434
  query: {
387
435
  destinationToken?: string | string[];
436
+ include?: string | string[];
388
437
  limit?: string | string[];
389
438
  provider?: string | string[];
390
439
  sourceAmount: string | string[];
@@ -407,6 +456,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
407
456
  input: {
408
457
  query: {
409
458
  destinationToken?: string | string[];
459
+ include?: string | string[];
410
460
  limit?: string | string[];
411
461
  provider?: string | string[];
412
462
  sourceAmount: string | string[];
@@ -429,6 +479,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
429
479
  input: {
430
480
  query: {
431
481
  destinationToken?: string | string[];
482
+ include?: string | string[];
432
483
  limit?: string | string[];
433
484
  provider?: string | string[];
434
485
  sourceAmount: string | string[];
@@ -451,6 +502,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
451
502
  input: {
452
503
  query: {
453
504
  destinationToken?: string | string[];
505
+ include?: string | string[];
454
506
  limit?: string | string[];
455
507
  provider?: string | string[];
456
508
  sourceAmount: string | string[];
@@ -473,6 +525,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
473
525
  input: {
474
526
  query: {
475
527
  destinationToken?: string | string[];
528
+ include?: string | string[];
476
529
  limit?: string | string[];
477
530
  provider?: string | string[];
478
531
  sourceAmount: string | string[];
@@ -505,6 +558,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
505
558
  tokenKey: string;
506
559
  verified: boolean;
507
560
  };
561
+ errorCode: string | null;
508
562
  id: string;
509
563
  provider: {
510
564
  id: string;
@@ -520,8 +574,22 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
520
574
  instantVolumeUsd: string | null;
521
575
  liquiditySource: string;
522
576
  score: number | null;
577
+ sourceDetail: string | null;
523
578
  tier: "error" | "liquid" | "thin" | "unavailable" | "unknown";
524
579
  };
580
+ quote: {
581
+ expiresAt: string | null;
582
+ inputAmount: string;
583
+ limits: {
584
+ instantSourceAmount: string | null;
585
+ maxSourceAmount: string | null;
586
+ minSourceAmount: string | null;
587
+ } | null;
588
+ minimumOutputAmount: string | null;
589
+ outputAmount: string | null;
590
+ outputAmountFormatted: string | null;
591
+ sampledAt: string;
592
+ } | null;
525
593
  sourceAmount: {
526
594
  amount: string;
527
595
  formatted: string;
@@ -556,6 +624,7 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
556
624
  input: {
557
625
  query: {
558
626
  destinationToken?: string | string[];
627
+ include?: string | string[];
559
628
  limit?: string | string[];
560
629
  provider?: string | string[];
561
630
  sourceAmount: string | string[];
@@ -762,4 +831,13 @@ export declare function funding(): import("hono/hono-base").HonoBase<App.Environ
762
831
  };
763
832
  };
764
833
  }, "/", "/v1/providers">;
834
+ export declare namespace funding {
835
+ /** Options for funding route discovery. */
836
+ type Options = {
837
+ /** Provider adapters used to enrich static inventory with live data. */
838
+ adapters?: FundingRoutes.ProviderAdapters | undefined;
839
+ /** Per-provider quote timeout in milliseconds. */
840
+ adapterTimeoutMs?: number | undefined;
841
+ };
842
+ }
765
843
  //# sourceMappingURL=funding.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"funding.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/funding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAK3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAGzD,wDAAwD;AACxD,yBAAiB,MAAM,CAAC;IACtB,6CAA6C;IACtC,MAAM,KAAK;;;;;;;;;;;;;;qBAiCjB,CAAA;IAED,6CAA6C;IACtC,MAAM,KAAK;;;;;;;;;qBA6CjB,CAAA;IAED,wDAAwD;IACjD,MAAM,WAAW;;;;qBAqBvB,CAAA;IAED,sDAAsD;IAC/C,MAAM,WAAW;;;;;qBAoBvB,CAAA;IAED,+EAA+E;IACxE,MAAM,OAAO;;;;;;;;;;;;;;;qBAoDnB,CAAA;IAED,8CAA8C;IACvC,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAuB1B,CAAA;IAED,sCAAsC;IAC/B,MAAM,QAAQ;;;;;;;;;;;;;qBA+BpB,CAAA;IAED,qEAAqE;IAC9D,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;qBAK1B,CAAA;IAED,mDAAmD;IACnD,UAAiB,iBAAiB,CAAC;QACjC,oDAAoD;QAC7C,MAAM,KAAK;;;;;;;;;;;0BAuDiE,CAAA;QAEnF,sDAAsD;QAC/C,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOpB,CAAA;KACF;IAED,mDAAmD;IACnD,UAAiB,iBAAiB,CAAC;QACjC,4CAA4C;QACrC,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOpB,CAAA;KACF;IAED,+CAA+C;IAC/C,UAAiB,aAAa,CAAC;QAC7B,yDAAyD;QAClD,MAAM,KAAK;;;;0BAS6C,CAAA;QAE/D,8CAA8C;QACvC,MAAM,QAAQ;;;;;;;;;;;;;;;yBAKpB,CAAA;KACF;CACF;AA6DD,+EAA+E;AAC/E,wBAAgB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAyItB"}
1
+ {"version":3,"file":"funding.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/funding.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,aAAa,MAAM,oCAAoC,CAAA;AAEnE,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAGzD,wDAAwD;AACxD,yBAAiB,MAAM,CAAC;IACtB,6CAA6C;IACtC,MAAM,KAAK;;;;;;;;;;;;;;qBAiCjB,CAAA;IAED,6CAA6C;IACtC,MAAM,KAAK;;;;;;;;;qBA6CjB,CAAA;IAED,wDAAwD;IACjD,MAAM,WAAW;;;;qBAqBvB,CAAA;IAED,sDAAsD;IAC/C,MAAM,WAAW;;;;;qBAoBvB,CAAA;IAED,+EAA+E;IACxE,MAAM,OAAO;;;;;;;;;;;;;;;;qBA0DnB,CAAA;IAED,yDAAyD;IAClD,MAAM,UAAU;;;;;;;;;;;;qBA8DtB,CAAA;IAED,8CAA8C;IACvC,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgC1B,CAAA;IAED,sCAAsC;IAC/B,MAAM,QAAQ;;;;;;;;;;;;;qBA+BpB,CAAA;IAED,qEAAqE;IAC9D,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;qBAK1B,CAAA;IAED,mDAAmD;IACnD,UAAiB,iBAAiB,CAAC;QACjC,oDAAoD;QAC7C,MAAM,KAAK;;;;;;;;;;;;0BA6DiE,CAAA;QAEnF,sDAAsD;QAC/C,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOpB,CAAA;KACF;IAED,mDAAmD;IACnD,UAAiB,iBAAiB,CAAC;QACjC,4CAA4C;QACrC,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;yBAOpB,CAAA;KACF;IAED,+CAA+C;IAC/C,UAAiB,aAAa,CAAC;QAC7B,yDAAyD;QAClD,MAAM,KAAK;;;;0BAS6C,CAAA;QAE/D,8CAA8C;QACvC,MAAM,QAAQ;;;;;;;;;;;;;;;yBAKpB,CAAA;KACF;CACF;AA6DD,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,OAAO,GAAE,OAAO,CAAC,OAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAiJpD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,KAAK,OAAO,GAAG;QACb,wEAAwE;QACxE,QAAQ,CAAC,EAAE,aAAa,CAAC,gBAAgB,GAAG,SAAS,CAAA;QACrD,kDAAkD;QAClD,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC,CAAA;CACF"}