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.
- package/README.md +5 -5
- package/dist/App.d.ts +31 -9
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +3 -3
- package/dist/App.js.map +1 -1
- package/dist/admin/App.d.ts +116 -116
- package/dist/apps/data/App.d.ts +30 -5
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +1 -1
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/FundingRouteProviders.d.ts +54 -0
- package/dist/apps/data/FundingRouteProviders.d.ts.map +1 -0
- package/dist/apps/data/FundingRouteProviders.js +355 -0
- package/dist/apps/data/FundingRouteProviders.js.map +1 -0
- package/dist/apps/data/index.d.ts +1 -0
- package/dist/apps/data/index.d.ts.map +1 -1
- package/dist/apps/data/index.js +1 -0
- package/dist/apps/data/index.js.map +1 -1
- package/dist/apps/data/routes/funding.d.ts +79 -1
- package/dist/apps/data/routes/funding.d.ts.map +1 -1
- package/dist/apps/data/routes/funding.js +68 -8
- package/dist/apps/data/routes/funding.js.map +1 -1
- package/dist/apps/data/routes/indexer.d.ts +5 -5
- package/dist/apps/docs/App.d.ts +1 -1
- package/dist/apps/docs/App.js +1 -1
- package/dist/apps/index.d.ts +2 -2
- package/dist/apps/index.d.ts.map +1 -1
- package/dist/apps/index.js +2 -2
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/{platform → management}/App.d.ts +11 -11
- package/dist/apps/{platform → management}/App.d.ts.map +1 -1
- package/dist/apps/{platform → management}/App.js +7 -7
- package/dist/apps/management/App.js.map +1 -0
- package/dist/apps/management/Billing.d.ts.map +1 -0
- package/dist/apps/management/Billing.js.map +1 -0
- package/dist/apps/management/index.d.ts +3 -0
- package/dist/apps/management/index.d.ts.map +1 -0
- package/dist/apps/management/index.js +3 -0
- package/dist/apps/management/index.js.map +1 -0
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -0
- package/dist/apps/{platform → management}/routes/api-keys.js +1 -1
- package/dist/apps/management/routes/api-keys.js.map +1 -0
- package/dist/apps/{platform → management}/routes/billing.d.ts.map +1 -1
- package/dist/apps/management/routes/billing.js.map +1 -0
- package/dist/apps/{platform → management}/routes/invitations.d.ts +1 -1
- package/dist/apps/management/routes/invitations.d.ts.map +1 -0
- package/dist/apps/{platform → management}/routes/invitations.js +1 -1
- package/dist/apps/management/routes/invitations.js.map +1 -0
- package/dist/apps/management/routes/me.d.ts.map +1 -0
- package/dist/apps/management/routes/me.js.map +1 -0
- package/dist/apps/management/routes/members.d.ts.map +1 -0
- package/dist/apps/management/routes/members.js.map +1 -0
- package/dist/apps/management/routes/orgs.d.ts.map +1 -0
- package/dist/apps/management/routes/orgs.js.map +1 -0
- package/dist/apps/{platform → management}/routes/projects.d.ts.map +1 -1
- package/dist/apps/management/routes/projects.js.map +1 -0
- package/dist/apps/management/routes/scopes.d.ts.map +1 -0
- package/dist/apps/management/routes/scopes.js.map +1 -0
- package/dist/apps/management/routes/usage.d.ts.map +1 -0
- package/dist/apps/management/routes/usage.js.map +1 -0
- package/dist/apps/mcp.js +1 -1
- package/dist/apps/relay/App.js +1 -1
- package/dist/apps/relay/App.js.map +1 -1
- package/dist/internal/Auth.js +1 -1
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/EdgeCache.js +1 -1
- package/dist/internal/EdgeCache.js.map +1 -1
- package/dist/internal/FundingRoutes.d.ts +748 -16
- package/dist/internal/FundingRoutes.d.ts.map +1 -1
- package/dist/internal/FundingRoutes.js +166 -31
- package/dist/internal/FundingRoutes.js.map +1 -1
- package/package.json +5 -5
- package/src/App.ts +10 -10
- package/src/Client.test-d.ts +4 -4
- package/src/apps/composition.test.ts +26 -13
- package/src/apps/data/App.ts +3 -1
- package/src/apps/data/FundingRouteProviders.test.ts +281 -0
- package/src/apps/data/FundingRouteProviders.ts +459 -0
- package/src/apps/data/index.ts +1 -0
- package/src/apps/data/routes/funding.test.ts +102 -2
- package/src/apps/data/routes/funding.ts +122 -8
- package/src/apps/docs/App.ts +1 -1
- package/src/apps/index.ts +2 -2
- package/src/apps/{platform → management}/App.ts +14 -14
- package/src/apps/{platform → management}/index.ts +1 -1
- package/src/apps/{platform → management}/routes/api-keys.ts +1 -1
- package/src/apps/{platform → management}/routes/invitations.ts +1 -1
- package/src/apps/mcp.test.ts +1 -1
- package/src/apps/mcp.ts +1 -1
- package/src/apps/relay/App.test.ts +1 -1
- package/src/apps/relay/App.ts +1 -1
- package/src/internal/Auth.ts +1 -1
- package/src/internal/EdgeCache.ts +1 -1
- package/src/internal/FundingRoutes.test.ts +213 -0
- package/src/internal/FundingRoutes.ts +347 -32
- package/dist/apps/platform/App.js.map +0 -1
- package/dist/apps/platform/Billing.d.ts.map +0 -1
- package/dist/apps/platform/Billing.js.map +0 -1
- package/dist/apps/platform/index.d.ts +0 -3
- package/dist/apps/platform/index.d.ts.map +0 -1
- package/dist/apps/platform/index.js +0 -3
- package/dist/apps/platform/index.js.map +0 -1
- package/dist/apps/platform/routes/api-keys.d.ts.map +0 -1
- package/dist/apps/platform/routes/api-keys.js.map +0 -1
- package/dist/apps/platform/routes/billing.js.map +0 -1
- package/dist/apps/platform/routes/invitations.d.ts.map +0 -1
- package/dist/apps/platform/routes/invitations.js.map +0 -1
- package/dist/apps/platform/routes/me.d.ts.map +0 -1
- package/dist/apps/platform/routes/me.js.map +0 -1
- package/dist/apps/platform/routes/members.d.ts.map +0 -1
- package/dist/apps/platform/routes/members.js.map +0 -1
- package/dist/apps/platform/routes/orgs.d.ts.map +0 -1
- package/dist/apps/platform/routes/orgs.js.map +0 -1
- package/dist/apps/platform/routes/projects.js.map +0 -1
- package/dist/apps/platform/routes/scopes.d.ts.map +0 -1
- package/dist/apps/platform/routes/scopes.js.map +0 -1
- package/dist/apps/platform/routes/usage.d.ts.map +0 -1
- package/dist/apps/platform/routes/usage.js.map +0 -1
- /package/dist/apps/{platform → management}/Billing.d.ts +0 -0
- /package/dist/apps/{platform → management}/Billing.js +0 -0
- /package/dist/apps/{platform → management}/routes/api-keys.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/billing.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/billing.js +0 -0
- /package/dist/apps/{platform → management}/routes/me.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/me.js +0 -0
- /package/dist/apps/{platform → management}/routes/members.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/members.js +0 -0
- /package/dist/apps/{platform → management}/routes/orgs.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/orgs.js +0 -0
- /package/dist/apps/{platform → management}/routes/projects.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/projects.js +0 -0
- /package/dist/apps/{platform → management}/routes/scopes.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/scopes.js +0 -0
- /package/dist/apps/{platform → management}/routes/usage.d.ts +0 -0
- /package/dist/apps/{platform → management}/routes/usage.js +0 -0
- /package/src/apps/{platform → management}/Billing.test.ts +0 -0
- /package/src/apps/{platform → management}/Billing.ts +0 -0
- /package/src/apps/{platform → management}/routes/api-keys.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/billing.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/billing.ts +0 -0
- /package/src/apps/{platform → management}/routes/invitations.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/me.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/me.ts +0 -0
- /package/src/apps/{platform → management}/routes/members.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/members.ts +0 -0
- /package/src/apps/{platform → management}/routes/orgs.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/orgs.ts +0 -0
- /package/src/apps/{platform → management}/routes/projects.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/projects.ts +0 -0
- /package/src/apps/{platform → management}/routes/scopes.test.ts +0 -0
- /package/src/apps/{platform → management}/routes/scopes.ts +0 -0
- /package/src/apps/{platform → management}/routes/usage.test.ts +0 -0
- /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 +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"}
|
package/dist/apps/data/index.js
CHANGED
|
@@ -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;
|
|
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"}
|