tapimo 0.4.4 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (229) hide show
  1. package/dist/App.d.ts +4701 -3416
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +24 -2
  4. package/dist/App.js.map +1 -1
  5. package/dist/Assets.js +3 -3
  6. package/dist/Assets.js.map +1 -1
  7. package/dist/Scope.d.ts +18 -1
  8. package/dist/Scope.d.ts.map +1 -1
  9. package/dist/Scope.js +23 -3
  10. package/dist/Scope.js.map +1 -1
  11. package/dist/Webhooks.d.ts +1 -1
  12. package/dist/Webhooks.d.ts.map +1 -1
  13. package/dist/Webhooks.js +5 -10
  14. package/dist/Webhooks.js.map +1 -1
  15. package/dist/admin/App.d.ts +6 -34
  16. package/dist/admin/App.d.ts.map +1 -1
  17. package/dist/admin/apps/api-keys.d.ts +3 -3
  18. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  19. package/dist/admin/apps/api-keys.js +4 -1
  20. package/dist/admin/apps/api-keys.js.map +1 -1
  21. package/dist/admin/apps/scopes.d.ts +6 -34
  22. package/dist/admin/apps/scopes.d.ts.map +1 -1
  23. package/dist/admin/apps/scopes.js +2 -2
  24. package/dist/admin/apps/scopes.js.map +1 -1
  25. package/dist/admin/apps/verified-tokens.d.ts +57 -57
  26. package/dist/admin/ui.generated.d.ts +1 -1
  27. package/dist/admin/ui.generated.js +33 -33
  28. package/dist/admin/ui.generated.js.map +1 -1
  29. package/dist/apps/data/App.d.ts +4574 -4277
  30. package/dist/apps/data/App.d.ts.map +1 -1
  31. package/dist/apps/data/App.js +155 -77
  32. package/dist/apps/data/App.js.map +1 -1
  33. package/dist/apps/data/FundingQuoteProviders.d.ts +109 -0
  34. package/dist/apps/data/FundingQuoteProviders.d.ts.map +1 -0
  35. package/dist/apps/data/FundingQuoteProviders.js +464 -0
  36. package/dist/apps/data/FundingQuoteProviders.js.map +1 -0
  37. package/dist/apps/data/index.d.ts +1 -1
  38. package/dist/apps/data/index.js +1 -1
  39. package/dist/apps/data/routes/activities.d.ts +26 -26
  40. package/dist/apps/data/routes/addresses.d.ts +38 -38
  41. package/dist/apps/data/routes/balances.d.ts +45 -45
  42. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  43. package/dist/apps/data/routes/balances.js +67 -149
  44. package/dist/apps/data/routes/balances.js.map +1 -1
  45. package/dist/apps/data/routes/blocks.d.ts +2 -3
  46. package/dist/apps/data/routes/blocks.d.ts.map +1 -1
  47. package/dist/apps/data/routes/blocks.js +3 -5
  48. package/dist/apps/data/routes/blocks.js.map +1 -1
  49. package/dist/apps/data/routes/coingecko.d.ts +177 -176
  50. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  51. package/dist/apps/data/routes/coingecko.js +3 -8
  52. package/dist/apps/data/routes/coingecko.js.map +1 -1
  53. package/dist/apps/data/routes/funding.d.ts +131 -228
  54. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  55. package/dist/apps/data/routes/funding.js +152 -219
  56. package/dist/apps/data/routes/funding.js.map +1 -1
  57. package/dist/apps/data/routes/indexer.d.ts +34 -34
  58. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  59. package/dist/apps/data/routes/indexer.js +9 -2
  60. package/dist/apps/data/routes/indexer.js.map +1 -1
  61. package/dist/apps/data/routes/receipts.d.ts +228 -228
  62. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  63. package/dist/apps/data/routes/rpc.js +86 -16
  64. package/dist/apps/data/routes/rpc.js.map +1 -1
  65. package/dist/apps/data/routes/tokenlist.d.ts +12 -12
  66. package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
  67. package/dist/apps/data/routes/webhooks.d.ts +340 -0
  68. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  69. package/dist/apps/data/routes/webhooks.js +13 -1
  70. package/dist/apps/data/routes/webhooks.js.map +1 -1
  71. package/dist/apps/index.d.ts +1 -1
  72. package/dist/apps/index.js +1 -1
  73. package/dist/apps/management/App.d.ts +1833 -851
  74. package/dist/apps/management/App.d.ts.map +1 -1
  75. package/dist/apps/management/App.js +4 -0
  76. package/dist/apps/management/App.js.map +1 -1
  77. package/dist/apps/management/routes/api-keys.d.ts +41 -41
  78. package/dist/apps/management/routes/api-keys.js +2 -2
  79. package/dist/apps/management/routes/api-keys.js.map +1 -1
  80. package/dist/apps/management/routes/billing.d.ts +48 -48
  81. package/dist/apps/management/routes/invitations.d.ts +132 -132
  82. package/dist/apps/management/routes/invite-links.d.ts +1100 -0
  83. package/dist/apps/management/routes/invite-links.d.ts.map +1 -0
  84. package/dist/apps/management/routes/invite-links.js +411 -0
  85. package/dist/apps/management/routes/invite-links.js.map +1 -0
  86. package/dist/apps/management/routes/members.d.ts +41 -41
  87. package/dist/apps/management/routes/orgs.d.ts +92 -92
  88. package/dist/apps/management/routes/projects.d.ts +9 -9
  89. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  90. package/dist/apps/management/routes/scopes.js +2 -2
  91. package/dist/apps/management/routes/scopes.js.map +1 -1
  92. package/dist/apps/management/routes/usage.d.ts +24 -24
  93. package/dist/apps/mcp.js +2 -2
  94. package/dist/apps/mcp.js.map +1 -1
  95. package/dist/apps/relay/App.d.ts +2 -2
  96. package/dist/apps/relay/App.d.ts.map +1 -1
  97. package/dist/apps/relay/App.js +44 -6
  98. package/dist/apps/relay/App.js.map +1 -1
  99. package/dist/db/Db.d.ts +3 -0
  100. package/dist/db/Db.d.ts.map +1 -1
  101. package/dist/db/Db.js +57 -0
  102. package/dist/db/Db.js.map +1 -1
  103. package/dist/db/Schema.d.ts +31 -0
  104. package/dist/db/Schema.d.ts.map +1 -1
  105. package/dist/db/Schema.js +31 -0
  106. package/dist/db/Schema.js.map +1 -1
  107. package/dist/db/tables/inviteLinks.d.ts +42 -0
  108. package/dist/db/tables/inviteLinks.d.ts.map +1 -0
  109. package/dist/db/tables/inviteLinks.js +148 -0
  110. package/dist/db/tables/inviteLinks.js.map +1 -0
  111. package/dist/db/tables/organizations.d.ts.map +1 -1
  112. package/dist/db/tables/organizations.js +2 -0
  113. package/dist/db/tables/organizations.js.map +1 -1
  114. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  115. package/dist/db/tables/sponsoredTransactions.js +6 -2
  116. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  117. package/dist/handlers/relay.d.ts.map +1 -1
  118. package/dist/handlers/relay.js +13 -3
  119. package/dist/handlers/relay.js.map +1 -1
  120. package/dist/internal/Auth.d.ts +9 -1
  121. package/dist/internal/Auth.d.ts.map +1 -1
  122. package/dist/internal/Auth.js +138 -10
  123. package/dist/internal/Auth.js.map +1 -1
  124. package/dist/internal/EdgeCache.d.ts +3 -1
  125. package/dist/internal/EdgeCache.d.ts.map +1 -1
  126. package/dist/internal/EdgeCache.js +17 -2
  127. package/dist/internal/EdgeCache.js.map +1 -1
  128. package/dist/internal/{FundingRoutes.d.ts → FundingQuotes.d.ts} +240 -369
  129. package/dist/internal/FundingQuotes.d.ts.map +1 -0
  130. package/dist/internal/{FundingRoutes.js → FundingQuotes.js} +144 -183
  131. package/dist/internal/FundingQuotes.js.map +1 -0
  132. package/dist/internal/Log.d.ts +18 -12
  133. package/dist/internal/Log.d.ts.map +1 -1
  134. package/dist/internal/Log.js +2 -0
  135. package/dist/internal/Log.js.map +1 -1
  136. package/dist/internal/Tidx.d.ts +9 -3
  137. package/dist/internal/Tidx.d.ts.map +1 -1
  138. package/dist/internal/Tidx.js +13 -7
  139. package/dist/internal/Tidx.js.map +1 -1
  140. package/dist/internal/Viem.d.ts +17 -2
  141. package/dist/internal/Viem.d.ts.map +1 -1
  142. package/dist/internal/Viem.js +30 -3
  143. package/dist/internal/Viem.js.map +1 -1
  144. package/dist/internal/index.d.ts +1 -1
  145. package/dist/internal/index.js +1 -1
  146. package/package.json +2 -2
  147. package/src/ApiKeys.test.ts +25 -0
  148. package/src/App.test-d.ts +2 -0
  149. package/src/App.test.ts +13 -2
  150. package/src/App.ts +37 -5
  151. package/src/Assets.ts +3 -3
  152. package/src/Client.test-d.ts +21 -11
  153. package/src/Scope.test.ts +1 -0
  154. package/src/Scope.ts +32 -4
  155. package/src/Webhooks.ts +5 -10
  156. package/src/admin/apps/api-keys.test.ts +27 -0
  157. package/src/admin/apps/api-keys.ts +8 -1
  158. package/src/admin/apps/scopes.test.ts +7 -2
  159. package/src/admin/apps/scopes.ts +2 -2
  160. package/src/admin/ui/src/components/Dialog.tsx +8 -2
  161. package/src/admin/ui/src/lib/scopes.test.ts +19 -0
  162. package/src/admin/ui/src/lib/scopes.ts +12 -0
  163. package/src/admin/ui/src/routes/api-keys.tsx +128 -27
  164. package/src/admin/ui.generated.ts +33 -33
  165. package/src/apps/composition.test.ts +77 -0
  166. package/src/apps/data/App.test.ts +354 -0
  167. package/src/apps/data/App.ts +178 -91
  168. package/src/apps/data/FundingQuoteProviders.test.ts +577 -0
  169. package/src/apps/data/FundingQuoteProviders.ts +633 -0
  170. package/src/apps/data/index.ts +1 -1
  171. package/src/apps/data/routes/balances.test.ts +64 -18
  172. package/src/apps/data/routes/balances.ts +76 -177
  173. package/src/apps/data/routes/blocks.ts +3 -5
  174. package/src/apps/data/routes/coingecko.ts +3 -8
  175. package/src/apps/data/routes/funding.test.ts +304 -192
  176. package/src/apps/data/routes/funding.ts +166 -286
  177. package/src/apps/data/routes/indexer.test.ts +173 -15
  178. package/src/apps/data/routes/indexer.ts +8 -2
  179. package/src/apps/data/routes/rpc.test.ts +219 -0
  180. package/src/apps/data/routes/rpc.ts +92 -17
  181. package/src/apps/data/routes/webhooks.test.ts +21 -0
  182. package/src/apps/data/routes/webhooks.ts +13 -1
  183. package/src/apps/index.ts +1 -1
  184. package/src/apps/management/App.ts +4 -0
  185. package/src/apps/management/Billing.test.ts +2 -2
  186. package/src/apps/management/routes/api-keys.test.ts +47 -3
  187. package/src/apps/management/routes/api-keys.ts +2 -2
  188. package/src/apps/management/routes/invite-links.test.ts +385 -0
  189. package/src/apps/management/routes/invite-links.ts +570 -0
  190. package/src/apps/management/routes/scopes.test.ts +3 -2
  191. package/src/apps/management/routes/scopes.ts +4 -2
  192. package/src/apps/mcp.test.ts +18 -0
  193. package/src/apps/mcp.ts +2 -2
  194. package/src/apps/relay/App.test.ts +328 -7
  195. package/src/apps/relay/App.ts +42 -6
  196. package/src/apps/relay/Sponsorships.test.ts +2 -2
  197. package/src/db/Db.test.ts +5 -5
  198. package/src/db/Db.ts +65 -0
  199. package/src/db/Schema.ts +39 -0
  200. package/src/db/tables/billingSettings.test.ts +2 -2
  201. package/src/db/tables/inviteLinks.ts +187 -0
  202. package/src/db/tables/organizations.test.ts +2 -2
  203. package/src/db/tables/organizations.ts +2 -0
  204. package/src/db/tables/sponsoredTransactions.test.ts +19 -2
  205. package/src/db/tables/sponsoredTransactions.ts +21 -14
  206. package/src/db/tables/stripeCustomers.test.ts +2 -2
  207. package/src/handlers/relay.ts +16 -4
  208. package/src/internal/Auth.test.ts +132 -22
  209. package/src/internal/Auth.ts +181 -14
  210. package/src/internal/EdgeCache.test.ts +24 -3
  211. package/src/internal/EdgeCache.ts +18 -2
  212. package/src/internal/FundingQuotes.test.ts +268 -0
  213. package/src/internal/{FundingRoutes.ts → FundingQuotes.ts} +216 -277
  214. package/src/internal/Log.ts +21 -14
  215. package/src/internal/Tidx.test.ts +48 -0
  216. package/src/internal/Tidx.ts +21 -7
  217. package/src/internal/Viem.test.ts +46 -0
  218. package/src/internal/Viem.ts +48 -6
  219. package/src/internal/index.test.ts +1 -1
  220. package/src/internal/index.ts +1 -1
  221. package/dist/apps/data/FundingRouteProviders.d.ts +0 -36
  222. package/dist/apps/data/FundingRouteProviders.d.ts.map +0 -1
  223. package/dist/apps/data/FundingRouteProviders.js +0 -245
  224. package/dist/apps/data/FundingRouteProviders.js.map +0 -1
  225. package/dist/internal/FundingRoutes.d.ts.map +0 -1
  226. package/dist/internal/FundingRoutes.js.map +0 -1
  227. package/src/apps/data/FundingRouteProviders.test.ts +0 -225
  228. package/src/apps/data/FundingRouteProviders.ts +0 -312
  229. package/src/internal/FundingRoutes.test.ts +0 -213
@@ -5,7 +5,7 @@ declare const destinationChain: {
5
5
  readonly kind: 'evm';
6
6
  readonly name: 'Tempo';
7
7
  };
8
- /** Source chains accepted by the funding route inventory. */
8
+ /** Source chains considered by funding quote providers. */
9
9
  declare const sourceChains: readonly [{
10
10
  readonly addressFormat: 'evm';
11
11
  readonly aliases: readonly ['ethereum', 'eth', 'eip155:1'];
@@ -13,9 +13,7 @@ declare const sourceChains: readonly [{
13
13
  readonly kind: 'evm';
14
14
  readonly name: 'Ethereum';
15
15
  readonly providerIds: {
16
- readonly bridge: 'ethereum';
17
- readonly bungee: '1';
18
- readonly lifi: '1';
16
+ readonly across: '1';
19
17
  readonly relay: '1';
20
18
  };
21
19
  readonly slug: 'ethereum';
@@ -62,10 +60,9 @@ declare const sourceChains: readonly [{
62
60
  readonly kind: 'evm';
63
61
  readonly name: 'Base';
64
62
  readonly providerIds: {
65
- readonly bridge: 'base';
66
- readonly bungee: '8453';
67
- readonly lifi: '8453';
63
+ readonly across: '8453';
68
64
  readonly relay: '8453';
65
+ readonly rhino: 'BASE';
69
66
  };
70
67
  readonly slug: 'base';
71
68
  readonly tokens: readonly [{
@@ -97,8 +94,7 @@ declare const sourceChains: readonly [{
97
94
  readonly kind: 'evm';
98
95
  readonly name: 'BNB Smart Chain';
99
96
  readonly providerIds: {
100
- readonly bungee: '56';
101
- readonly lifi: '56';
97
+ readonly across: '56';
102
98
  readonly relay: '56';
103
99
  };
104
100
  readonly slug: 'bnb';
@@ -118,14 +114,13 @@ declare const sourceChains: readonly [{
118
114
  readonly symbol: 'USDT';
119
115
  }];
120
116
  }, {
121
- readonly addressFormat: 'solana';
122
- readonly aliases: readonly ['solana', 'solana:mainnet'];
123
- readonly id: 'solana:mainnet';
117
+ readonly addressFormat: 'base58';
118
+ readonly aliases: readonly ['solana', 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp'];
119
+ readonly id: 'solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp';
124
120
  readonly kind: 'solana';
125
121
  readonly name: 'Solana';
126
122
  readonly providerIds: {
127
- readonly bridge: 'solana';
128
- readonly relay: 'solana';
123
+ readonly rhino: 'SOLANA';
129
124
  };
130
125
  readonly slug: 'solana';
131
126
  readonly tokens: readonly [{
@@ -135,23 +130,15 @@ declare const sourceChains: readonly [{
135
130
  readonly name: 'USD Coin';
136
131
  readonly standard: 'SPL';
137
132
  readonly symbol: 'USDC';
138
- }, {
139
- readonly address: 'Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v';
140
- readonly coingeckoId: 'tether';
141
- readonly decimals: 6;
142
- readonly name: 'Tether USD';
143
- readonly standard: 'SPL';
144
- readonly symbol: 'USDT';
145
133
  }];
146
134
  }, {
147
- readonly addressFormat: 'tron';
148
- readonly aliases: readonly ['tron', 'tron:mainnet'];
149
- readonly id: 'tron:mainnet';
135
+ readonly addressFormat: 'base58check';
136
+ readonly aliases: readonly ['tron', 'tron:0x2b6653dc'];
137
+ readonly id: 'tron:0x2b6653dc';
150
138
  readonly kind: 'tron';
151
139
  readonly name: 'Tron';
152
140
  readonly providerIds: {
153
- readonly bridge: 'tron';
154
- readonly relay: 'tron';
141
+ readonly rhino: 'TRON';
155
142
  };
156
143
  readonly slug: 'tron';
157
144
  readonly tokens: readonly [{
@@ -163,7 +150,7 @@ declare const sourceChains: readonly [{
163
150
  readonly symbol: 'USDT';
164
151
  }];
165
152
  }];
166
- /** Tempo destination tokens supported by the initial funding route inventory. */
153
+ /** Tempo destination tokens supported by funding quote providers. */
167
154
  declare const destinationTokens: readonly [{
168
155
  readonly address: '0x20c0000000000000000000000000000000000000';
169
156
  readonly decimals: 6;
@@ -200,57 +187,47 @@ declare const destinationTokens: readonly [{
200
187
  readonly standard: 'TIP-20';
201
188
  readonly symbol: 'frxUSD';
202
189
  }];
203
- /** Providers exposed by the generic provider catalog. */
190
+ /** Providers supported by live funding quotes. */
204
191
  declare const providers: readonly [{
205
- readonly capabilities: readonly ['fundingRoutes'];
192
+ readonly id: 'across';
193
+ readonly kind: 'intentBridge';
194
+ readonly name: 'Across';
195
+ readonly requiresApiKey: true;
196
+ readonly status: 'unconfigured';
197
+ }, {
206
198
  readonly id: 'relay';
207
199
  readonly kind: 'solverNetwork';
208
200
  readonly name: 'Relay';
209
201
  readonly requiresApiKey: false;
210
- readonly status: 'inventoryOnly';
202
+ readonly status: 'unconfigured';
211
203
  }, {
212
- readonly capabilities: readonly ['fundingRoutes'];
213
- readonly id: 'bridge';
214
- readonly kind: 'enterpriseTransfer';
215
- readonly name: 'Bridge.xyz';
216
- readonly requiresApiKey: true;
217
- readonly status: 'inventoryOnly';
218
- }, {
219
- readonly capabilities: readonly ['fundingRoutes'];
220
- readonly id: 'bungee';
221
- readonly kind: 'aggregator';
222
- readonly name: 'Bungee';
204
+ readonly id: 'rhino';
205
+ readonly kind: 'bridge';
206
+ readonly name: 'Rhino';
223
207
  readonly requiresApiKey: false;
224
- readonly status: 'inventoryOnly';
225
- }, {
226
- readonly capabilities: readonly ['fundingRoutes'];
227
- readonly id: 'lifi';
228
- readonly kind: 'aggregator';
229
- readonly name: 'LI.FI';
230
- readonly requiresApiKey: true;
231
- readonly status: 'planned';
208
+ readonly status: 'unconfigured';
232
209
  }];
233
210
  type TokenInput = (typeof sourceChains)[number]['tokens'][number];
234
211
  type DestinationTokenInput = (typeof destinationTokens)[number];
235
212
  type ProviderInput = (typeof providers)[number];
236
213
  type SourceChainInput = (typeof sourceChains)[number];
237
- /** Provider ids accepted by the funding route inventory. */
214
+ /** Provider ids accepted by funding quote requests. */
238
215
  export type ProviderId = ProviderInput['id'];
239
- /** Provider-specific route status for the requested amount. */
240
- export type RouteStatus = 'available' | 'thin' | 'unknown' | 'unavailable' | 'error';
241
- /** Machine-readable route quality tier. */
242
- export type QualityTier = 'liquid' | 'thin' | 'unknown' | 'unavailable' | 'error';
243
- /** Response expansions accepted by funding route discovery. */
244
- export type Include = 'quotes';
216
+ /** Provider-specific quote status for the requested amount. */
217
+ export type QuoteStatus = 'available' | 'thin' | 'unknown' | 'unavailable';
218
+ /** Machine-readable quote quality tier. */
219
+ export type QualityTier = 'liquid' | 'thin' | 'unknown' | 'unavailable';
245
220
  /** Normalized chain reference passed to provider adapters. */
246
221
  export type ChainRef = ReturnType<typeof formatChain> | typeof destinationChain;
247
222
  /** Normalized token amount passed to provider adapters. */
248
223
  export type TokenAmount = ReturnType<typeof resolveSourceAmount>;
249
224
  /** Normalized token reference passed to provider adapters. */
250
225
  export type TokenRef = ReturnType<typeof formatDestinationToken> | ReturnType<typeof formatSourceToken>;
251
- /** A normalized funding route candidate returned by route discovery. */
252
- export type RouteCandidate = ReturnType<typeof formatRouteCandidate>;
253
- /** Cache policy for a single funding route discovery request. */
226
+ /** A normalized internal candidate passed to funding quote providers. */
227
+ export type QuoteCandidate = ReturnType<typeof formatQuoteCandidate>;
228
+ /** A successful normalized funding quote returned to callers. */
229
+ export type FundingQuote = ReturnType<typeof formatFundingQuote>;
230
+ /** Cache policy for a single funding quote request. */
254
231
  export type CachePolicy = {
255
232
  /** Whether provider adapters should bypass their own quote or inventory caches. */
256
233
  bypass: boolean;
@@ -259,10 +236,6 @@ export type CachePolicy = {
259
236
  export type QuoteRequest = {
260
237
  /** Optional Tempo destination token symbol, address, or token key. */
261
238
  destinationToken?: string | undefined;
262
- /** Response expansions requested by the caller. */
263
- include: readonly Include[];
264
- /** Maximum number of route candidates requested by the caller. */
265
- limit: number;
266
239
  /** Optional provider id filter. */
267
240
  provider?: string | undefined;
268
241
  /** Source amount as supplied by the caller. */
@@ -274,20 +247,18 @@ export type QuoteRequest = {
274
247
  /** Source token symbol, contract address, mint, or Tempo token key. */
275
248
  sourceToken: string;
276
249
  };
277
- /** Input passed to a provider adapter for one static route candidate probe. */
250
+ /** Input passed to a provider adapter for one curated quote candidate. */
278
251
  export type QuoteProbeInput = {
279
- /** Cache policy for provider-side inventory, quote, and liquidity lookups. */
252
+ /** Cache policy for provider-side discovery and quote lookups. */
280
253
  cache: CachePolicy;
281
254
  /** Destination chain, always Tempo mainnet in V1. */
282
255
  destinationChain: ChainRef;
283
- /** Tempo token expected from this route. */
256
+ /** Tempo token expected from this quote. */
284
257
  destinationToken: TokenRef;
285
- /** Response expansions requested by the caller. */
286
- include: readonly Include[];
287
- /** Normalized caller request that produced this route candidate. */
258
+ /** Normalized caller request that produced this quote candidate. */
288
259
  request: QuoteRequest;
289
- /** Static candidate being enriched with live provider information. */
290
- route: RouteCandidate;
260
+ /** Curated candidate selected for live provider quoting. */
261
+ candidate: QuoteCandidate;
291
262
  /** Source amount in base units and display form. */
292
263
  sourceAmount: TokenAmount;
293
264
  /** Chain where the caller currently holds funds. */
@@ -295,66 +266,50 @@ export type QuoteProbeInput = {
295
266
  /** Token the caller currently holds. */
296
267
  sourceToken: TokenRef;
297
268
  };
298
- /** Provider-specific source amount limits, expressed in source base units. */
299
- export type QuoteProbeLimits = {
300
- /** Provider-reported instant source amount capacity. */
301
- instantSourceAmount?: string | null | undefined;
302
- /** Provider-reported maximum source amount. */
303
- maxSourceAmount?: string | null | undefined;
304
- /** Provider-reported minimum source amount. */
305
- minSourceAmount?: string | null | undefined;
306
- };
307
269
  /** Quote probe data returned by a provider adapter. */
308
270
  export type QuoteProbeResult = {
309
- /** Stable route error code when status is `error`. */
310
- errorCode?: string | null | undefined;
311
- /** Provider quote expiry timestamp. */
312
- expiresAt?: string | null | undefined;
313
- /** Provider-reported source amount limits. */
314
- limits?: QuoteProbeLimits | null | undefined;
271
+ /** Timestamp after which the provider quote is no longer valid. */
272
+ expiresAt?: string | undefined;
315
273
  /** Slippage-adjusted minimum destination amount in base units. */
316
- minimumOutputAmount?: string | null | undefined;
274
+ minimumOutputAmount?: string | undefined;
317
275
  /** Expected destination amount in base units. */
318
- outputAmount?: string | null | undefined;
276
+ outputAmount?: string | undefined;
319
277
  /** Expected destination amount rendered with destination token decimals. */
320
- outputAmountFormatted?: string | null | undefined;
321
- /** Timestamp for the live quote or route probe. */
278
+ outputAmountFormatted?: string | undefined;
279
+ /** Timestamp for the live quote probe. */
322
280
  sampledAt: string;
323
- /** Provider-specific route status for the requested amount. */
324
- status: RouteStatus;
325
- /** Provider-backed route quality metadata. */
281
+ /** Provider-specific quote status for the requested amount. */
282
+ status: QuoteStatus;
283
+ /** Provider-backed quote quality metadata. */
326
284
  quality?: {
327
- /** Available USD capacity, when available. */
328
- availableVolumeUsd?: string | null | undefined;
329
285
  /** Estimated settlement time in seconds, when known. */
330
- estimatedSeconds?: number | null | undefined;
331
- /** Estimated fee in basis points, when known. */
332
- feeBps?: number | null | undefined;
333
- /** 24h routed volume in USD, when available. */
334
- historicalVolumeUsd24h?: string | null | undefined;
335
- /** Instant USD capacity, when available. */
336
- instantVolumeUsd?: string | null | undefined;
286
+ estimatedSeconds?: number | undefined;
337
287
  /** Where the live liquidity or support signal came from. */
338
288
  liquiditySource: string;
339
- /** Explainable route score from 0 to 100, when enough signals are available. */
340
- score?: number | null | undefined;
341
289
  /** Provider-specific quote source or endpoint detail. */
342
- sourceDetail?: string | null | undefined;
343
- /** Machine-readable route quality tier. */
290
+ sourceDetail?: string | undefined;
291
+ /** Machine-readable quote quality tier. */
344
292
  tier?: QualityTier | undefined;
345
293
  };
346
294
  };
347
- /** Adapter used to enrich a static route candidate with live provider information. */
295
+ /** Adapter used to request a live provider quote. */
348
296
  export type ProviderAdapter = {
349
297
  /** Probes provider-backed quote information for one static candidate. */
350
298
  probeQuote(input: QuoteProbeInput, signal: AbortSignal): Promise<QuoteProbeResult>;
351
299
  };
352
- /** Provider adapter registry, keyed by provider id. Missing adapters leave routes static. */
300
+ /** Provider adapter registry, keyed by provider id. */
353
301
  export type ProviderAdapters = Partial<Record<ProviderId, ProviderAdapter>>;
354
- /** Lists normalized chains and source tokens that can fund Tempo. */
302
+ /** A provider adapter failure retained for bounded request diagnostics. */
303
+ export type ProviderFailure = {
304
+ /** Error thrown by the provider boundary. */
305
+ cause: unknown;
306
+ /** Provider that failed. */
307
+ provider: ProviderId;
308
+ };
309
+ /** Lists normalized chains and source tokens supported by quote providers. */
355
310
  export declare function listChains(): {
356
311
  tokens: {
357
- address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
312
+ address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
358
313
  decimals: 6 | 18;
359
314
  metadata: {
360
315
  coingeckoId: "dai" | "euro-coin" | "paypal-usd" | "tether" | "usd-coin";
@@ -365,39 +320,32 @@ export declare function listChains(): {
365
320
  tokenKey: string;
366
321
  verified: boolean;
367
322
  }[];
368
- addressFormat: "evm" | "solana" | "tron";
369
- id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:mainnet" | "tron:mainnet";
323
+ addressFormat: "base58" | "base58check" | "evm";
324
+ id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "tron:0x2b6653dc";
370
325
  kind: "evm" | "solana" | "tron";
371
326
  name: "BNB Smart Chain" | "Base" | "Ethereum" | "Solana" | "Tron";
372
327
  providerIds: {
373
- readonly bridge: 'ethereum';
374
- readonly bungee: '1';
375
- readonly lifi: '1';
328
+ readonly across: '1';
376
329
  readonly relay: '1';
377
330
  } | {
378
- readonly bridge: 'base';
379
- readonly bungee: '8453';
380
- readonly lifi: '8453';
331
+ readonly across: '8453';
381
332
  readonly relay: '8453';
333
+ readonly rhino: 'BASE';
382
334
  } | {
383
- readonly bungee: '56';
384
- readonly lifi: '56';
335
+ readonly across: '56';
385
336
  readonly relay: '56';
386
337
  } | {
387
- readonly bridge: 'solana';
388
- readonly relay: 'solana';
338
+ readonly rhino: 'SOLANA';
389
339
  } | {
390
- readonly bridge: 'tron';
391
- readonly relay: 'tron';
340
+ readonly rhino: 'TRON';
392
341
  };
393
342
  }[];
394
- /** Lists providers, optionally filtered by one provider capability. */
343
+ /** Lists funding quote providers and their deployment status. */
395
344
  export declare function listProviders(options?: listProviders.Options): {
396
- status: "configured" | "inventoryOnly" | "planned";
397
- capabilities: "fundingRoutes"[];
398
- id: "bridge" | "bungee" | "lifi" | "relay";
399
- kind: "aggregator" | "enterpriseTransfer" | "solverNetwork";
400
- name: "Bridge.xyz" | "Bungee" | "LI.FI" | "Relay";
345
+ status: "configured" | "unconfigured";
346
+ id: "across" | "relay" | "rhino";
347
+ kind: "bridge" | "intentBridge" | "solverNetwork";
348
+ name: "Across" | "Relay" | "Rhino";
401
349
  requiresApiKey: boolean;
402
350
  }[];
403
351
  export declare namespace listProviders {
@@ -405,108 +353,10 @@ export declare namespace listProviders {
405
353
  type Options = {
406
354
  /** Provider adapters configured for this deployment. */
407
355
  adapters?: ProviderAdapters | undefined;
408
- /** Provider capability to require. */
409
- capability?: Capability | undefined;
410
356
  };
411
357
  }
412
- /** Parses the comma-separated `include` query parameter. */
413
- export declare function parseInclude(input: string | undefined): readonly "quotes"[];
414
- /** Lists funding route candidates, enriching static inventory when adapters are configured. */
415
- export declare function listRoutes(options: listRoutes.Options): Promise<({
416
- errorCode: string | null;
417
- quality: {
418
- availableVolumeUsd: string | null | undefined;
419
- estimatedSeconds: number | null | undefined;
420
- feeBps: number | null | undefined;
421
- historicalVolumeUsd24h: string | null | undefined;
422
- instantVolumeUsd: string | null | undefined;
423
- liquiditySource: string;
424
- score: number | null | undefined;
425
- sourceDetail: string | null | undefined;
426
- tier: QualityTier | undefined;
427
- };
428
- quote: {
429
- readonly expiresAt: string | null;
430
- readonly inputAmount: string;
431
- readonly limits: {
432
- instantSourceAmount: string | null;
433
- maxSourceAmount: string | null;
434
- minSourceAmount: string | null;
435
- } | null;
436
- readonly minimumOutputAmount: string | null;
437
- readonly outputAmount: string | null;
438
- readonly outputAmountFormatted: string | null;
439
- readonly sampledAt: string;
440
- } | null;
441
- status: RouteStatus;
442
- destinationChain: {
443
- readonly addressFormat: 'evm';
444
- readonly id: 'eip155:4217';
445
- readonly kind: 'evm';
446
- readonly name: 'Tempo';
447
- };
448
- destinationToken: {
449
- address: "0x20c0000000000000000000000000000000000000" | "0x20c00000000000000000000014f22ca97301eb73" | "0x20c0000000000000000000001621e21f71cf12fb" | "0x20c0000000000000000000003554d28269e0f3c2" | "0x20c000000000000000000000b9537d11c60e8b50";
450
- decimals: 6;
451
- metadata: {};
452
- name: "Bridged EURC" | "Bridged USDC (Stargate)" | "USDT0" | "frxUSD" | "pathUSD";
453
- standard: "TIP-20";
454
- symbol: "EURC.e" | "USDC.e" | "USDT0" | "frxUSD" | "pathUSD";
455
- tokenKey: string;
456
- verified: boolean;
457
- };
458
- id: string;
459
- provider: {
460
- id: "bridge" | "bungee" | "lifi" | "relay";
461
- kind: "aggregator" | "enterpriseTransfer" | "solverNetwork";
462
- name: "Bridge.xyz" | "Bungee" | "LI.FI" | "Relay";
463
- requiresApiKey: boolean;
464
- };
465
- sourceAmount: {
466
- amount: string;
467
- formatted: string;
468
- usd: null;
469
- };
470
- sourceChain: {
471
- addressFormat: "evm" | "solana" | "tron";
472
- id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:mainnet" | "tron:mainnet";
473
- kind: "evm" | "solana" | "tron";
474
- name: "BNB Smart Chain" | "Base" | "Ethereum" | "Solana" | "Tron";
475
- providerIds: {
476
- readonly bridge: 'ethereum';
477
- readonly bungee: '1';
478
- readonly lifi: '1';
479
- readonly relay: '1';
480
- } | {
481
- readonly bridge: 'base';
482
- readonly bungee: '8453';
483
- readonly lifi: '8453';
484
- readonly relay: '8453';
485
- } | {
486
- readonly bungee: '56';
487
- readonly lifi: '56';
488
- readonly relay: '56';
489
- } | {
490
- readonly bridge: 'solana';
491
- readonly relay: 'solana';
492
- } | {
493
- readonly bridge: 'tron';
494
- readonly relay: 'tron';
495
- };
496
- };
497
- sourceToken: {
498
- address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
499
- decimals: 6 | 18;
500
- metadata: {
501
- coingeckoId: "dai" | "euro-coin" | "paypal-usd" | "tether" | "usd-coin";
502
- };
503
- name: "Binance-Peg USD Coin" | "Dai Stablecoin" | "Euro Coin" | "PayPal USD" | "Tether USD" | "USD Coin";
504
- standard: "BEP-20" | "ERC-20" | "SPL" | "TRC-20";
505
- symbol: "DAI" | "EURC" | "PYUSD" | "USDC" | "USDT";
506
- tokenKey: string;
507
- verified: boolean;
508
- };
509
- } | {
358
+ /** Returns successful live funding quotes from configured providers. */
359
+ export declare function listQuotes(options: listQuotes.Options): Promise<{
510
360
  readonly destinationChain: {
511
361
  readonly addressFormat: 'evm';
512
362
  readonly id: 'eip155:4217';
@@ -523,60 +373,40 @@ export declare function listRoutes(options: listRoutes.Options): Promise<({
523
373
  tokenKey: string;
524
374
  verified: boolean;
525
375
  };
526
- readonly errorCode: null;
527
376
  readonly id: string;
528
377
  readonly provider: {
529
- id: "bridge" | "bungee" | "lifi" | "relay";
530
- kind: "aggregator" | "enterpriseTransfer" | "solverNetwork";
531
- name: "Bridge.xyz" | "Bungee" | "LI.FI" | "Relay";
378
+ id: "across" | "relay" | "rhino";
379
+ kind: "bridge" | "intentBridge" | "solverNetwork";
380
+ name: "Across" | "Relay" | "Rhino";
532
381
  requiresApiKey: boolean;
533
382
  };
534
- readonly quality: {
535
- readonly availableVolumeUsd: null;
536
- readonly estimatedSeconds: null;
537
- readonly feeBps: null;
538
- readonly historicalVolumeUsd24h: null;
539
- readonly instantVolumeUsd: null;
540
- readonly liquiditySource: 'staticInventory';
541
- readonly score: null;
542
- readonly sourceDetail: null;
543
- readonly tier: 'unknown';
544
- };
545
- readonly quote: null;
546
383
  readonly sourceAmount: {
547
384
  amount: string;
548
385
  formatted: string;
549
- usd: null;
550
386
  };
551
387
  readonly sourceChain: {
552
- addressFormat: "evm" | "solana" | "tron";
553
- id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:mainnet" | "tron:mainnet";
388
+ addressFormat: "base58" | "base58check" | "evm";
389
+ id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "tron:0x2b6653dc";
554
390
  kind: "evm" | "solana" | "tron";
555
391
  name: "BNB Smart Chain" | "Base" | "Ethereum" | "Solana" | "Tron";
556
392
  providerIds: {
557
- readonly bridge: 'ethereum';
558
- readonly bungee: '1';
559
- readonly lifi: '1';
393
+ readonly across: '1';
560
394
  readonly relay: '1';
561
395
  } | {
562
- readonly bridge: 'base';
563
- readonly bungee: '8453';
564
- readonly lifi: '8453';
396
+ readonly across: '8453';
565
397
  readonly relay: '8453';
398
+ readonly rhino: 'BASE';
566
399
  } | {
567
- readonly bungee: '56';
568
- readonly lifi: '56';
400
+ readonly across: '56';
569
401
  readonly relay: '56';
570
402
  } | {
571
- readonly bridge: 'solana';
572
- readonly relay: 'solana';
403
+ readonly rhino: 'SOLANA';
573
404
  } | {
574
- readonly bridge: 'tron';
575
- readonly relay: 'tron';
405
+ readonly rhino: 'TRON';
576
406
  };
577
407
  };
578
408
  readonly sourceToken: {
579
- address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
409
+ address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
580
410
  decimals: 6 | 18;
581
411
  metadata: {
582
412
  coingeckoId: "dai" | "euro-coin" | "paypal-usd" | "tether" | "usd-coin";
@@ -587,10 +417,23 @@ export declare function listRoutes(options: listRoutes.Options): Promise<({
587
417
  tokenKey: string;
588
418
  verified: boolean;
589
419
  };
590
- readonly status: 'unknown';
591
- })[]>;
592
- /** Lists static funding route candidates for a normalized caller request. */
593
- export declare function listStaticRoutes(options: listStaticRoutes.Options): {
420
+ readonly quality: {
421
+ readonly estimatedSeconds?: number;
422
+ readonly liquiditySource: string;
423
+ readonly sourceDetail?: string;
424
+ readonly tier: "liquid" | "thin";
425
+ };
426
+ readonly quote: {
427
+ readonly expiresAt?: string;
428
+ readonly inputAmount: string;
429
+ readonly minimumOutputAmount?: string;
430
+ readonly outputAmount: string;
431
+ readonly outputAmountFormatted: string;
432
+ readonly sampledAt: string;
433
+ };
434
+ }[]>;
435
+ /** Lists internal quote candidates for a normalized caller request. */
436
+ export declare function listQuoteCandidates(options: listQuoteCandidates.Options): {
594
437
  readonly destinationChain: {
595
438
  readonly addressFormat: 'evm';
596
439
  readonly id: 'eip155:4217';
@@ -607,60 +450,40 @@ export declare function listStaticRoutes(options: listStaticRoutes.Options): {
607
450
  tokenKey: string;
608
451
  verified: boolean;
609
452
  };
610
- readonly errorCode: null;
611
453
  readonly id: string;
612
454
  readonly provider: {
613
- id: "bridge" | "bungee" | "lifi" | "relay";
614
- kind: "aggregator" | "enterpriseTransfer" | "solverNetwork";
615
- name: "Bridge.xyz" | "Bungee" | "LI.FI" | "Relay";
455
+ id: "across" | "relay" | "rhino";
456
+ kind: "bridge" | "intentBridge" | "solverNetwork";
457
+ name: "Across" | "Relay" | "Rhino";
616
458
  requiresApiKey: boolean;
617
459
  };
618
- readonly quality: {
619
- readonly availableVolumeUsd: null;
620
- readonly estimatedSeconds: null;
621
- readonly feeBps: null;
622
- readonly historicalVolumeUsd24h: null;
623
- readonly instantVolumeUsd: null;
624
- readonly liquiditySource: 'staticInventory';
625
- readonly score: null;
626
- readonly sourceDetail: null;
627
- readonly tier: 'unknown';
628
- };
629
- readonly quote: null;
630
460
  readonly sourceAmount: {
631
461
  amount: string;
632
462
  formatted: string;
633
- usd: null;
634
463
  };
635
464
  readonly sourceChain: {
636
- addressFormat: "evm" | "solana" | "tron";
637
- id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:mainnet" | "tron:mainnet";
465
+ addressFormat: "base58" | "base58check" | "evm";
466
+ id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "tron:0x2b6653dc";
638
467
  kind: "evm" | "solana" | "tron";
639
468
  name: "BNB Smart Chain" | "Base" | "Ethereum" | "Solana" | "Tron";
640
469
  providerIds: {
641
- readonly bridge: 'ethereum';
642
- readonly bungee: '1';
643
- readonly lifi: '1';
470
+ readonly across: '1';
644
471
  readonly relay: '1';
645
472
  } | {
646
- readonly bridge: 'base';
647
- readonly bungee: '8453';
648
- readonly lifi: '8453';
473
+ readonly across: '8453';
649
474
  readonly relay: '8453';
475
+ readonly rhino: 'BASE';
650
476
  } | {
651
- readonly bungee: '56';
652
- readonly lifi: '56';
477
+ readonly across: '56';
653
478
  readonly relay: '56';
654
479
  } | {
655
- readonly bridge: 'solana';
656
- readonly relay: 'solana';
480
+ readonly rhino: 'SOLANA';
657
481
  } | {
658
- readonly bridge: 'tron';
659
- readonly relay: 'tron';
482
+ readonly rhino: 'TRON';
660
483
  };
661
484
  };
662
485
  readonly sourceToken: {
663
- address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
486
+ address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
664
487
  decimals: 6 | 18;
665
488
  metadata: {
666
489
  coingeckoId: "dai" | "euro-coin" | "paypal-usd" | "tether" | "usd-coin";
@@ -671,15 +494,12 @@ export declare function listStaticRoutes(options: listStaticRoutes.Options): {
671
494
  tokenKey: string;
672
495
  verified: boolean;
673
496
  };
674
- readonly status: 'unknown';
675
497
  }[];
676
- export declare namespace listStaticRoutes {
677
- /** Options for listing static funding routes. */
498
+ export declare namespace listQuoteCandidates {
499
+ /** Options for selecting funding quote candidates. */
678
500
  type Options = {
679
501
  /** Optional Tempo destination token symbol, address, or token key. */
680
502
  destinationToken?: string | undefined;
681
- /** Maximum number of route candidates to return. */
682
- limit: number;
683
503
  /** Optional provider id filter. */
684
504
  provider?: string | undefined;
685
505
  /** Source amount as supplied by the caller. */
@@ -692,48 +512,38 @@ export declare namespace listStaticRoutes {
692
512
  sourceToken: string;
693
513
  };
694
514
  }
695
- export declare namespace listRoutes {
696
- /** Options for listing funding routes. */
697
- type Options = listStaticRoutes.Options & {
698
- /** Provider adapters used to enrich static inventory with live data. */
515
+ export declare namespace listQuotes {
516
+ /** Options for requesting live funding quotes. */
517
+ type Options = listQuoteCandidates.Options & {
518
+ /** Provider adapters used to request live quotes. */
699
519
  adapters?: ProviderAdapters | undefined;
700
520
  /** Per-provider quote timeout in milliseconds. */
701
521
  adapterTimeoutMs?: number | undefined;
702
- /** Cache policy for provider-side inventory, quote, and liquidity lookups. */
522
+ /** Cache policy for provider-side discovery and quote lookups. */
703
523
  cache?: CachePolicy | undefined;
704
- /** Response expansions requested by the caller. */
705
- include?: readonly Include[] | undefined;
706
524
  };
707
525
  }
708
- /** Provider capability identifiers accepted by the generic provider catalog. */
709
- export type Capability = 'fundingRoutes';
710
- /** Source amount unit accepted by the funding route request. */
526
+ /** Source amount unit accepted by the funding quote request. */
711
527
  export type SourceAmountUnits = 'baseUnits' | 'decimal';
712
528
  declare function formatChain(chain: SourceChainInput): {
713
- addressFormat: "evm" | "solana" | "tron";
714
- id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:mainnet" | "tron:mainnet";
529
+ addressFormat: "base58" | "base58check" | "evm";
530
+ id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "tron:0x2b6653dc";
715
531
  kind: "evm" | "solana" | "tron";
716
532
  name: "BNB Smart Chain" | "Base" | "Ethereum" | "Solana" | "Tron";
717
533
  providerIds: {
718
- readonly bridge: 'ethereum';
719
- readonly bungee: '1';
720
- readonly lifi: '1';
534
+ readonly across: '1';
721
535
  readonly relay: '1';
722
536
  } | {
723
- readonly bridge: 'base';
724
- readonly bungee: '8453';
725
- readonly lifi: '8453';
537
+ readonly across: '8453';
726
538
  readonly relay: '8453';
539
+ readonly rhino: 'BASE';
727
540
  } | {
728
- readonly bungee: '56';
729
- readonly lifi: '56';
541
+ readonly across: '56';
730
542
  readonly relay: '56';
731
543
  } | {
732
- readonly bridge: 'solana';
733
- readonly relay: 'solana';
544
+ readonly rhino: 'SOLANA';
734
545
  } | {
735
- readonly bridge: 'tron';
736
- readonly relay: 'tron';
546
+ readonly rhino: 'TRON';
737
547
  };
738
548
  };
739
549
  declare function formatDestinationToken(token: DestinationTokenInput): {
@@ -746,7 +556,7 @@ declare function formatDestinationToken(token: DestinationTokenInput): {
746
556
  tokenKey: string;
747
557
  verified: boolean;
748
558
  };
749
- declare function formatRouteCandidate(options: {
559
+ declare function formatQuoteCandidate(options: {
750
560
  destinationToken: DestinationTokenInput;
751
561
  provider: ProviderInput;
752
562
  sourceAmount: ReturnType<typeof resolveSourceAmount>;
@@ -769,60 +579,40 @@ declare function formatRouteCandidate(options: {
769
579
  tokenKey: string;
770
580
  verified: boolean;
771
581
  };
772
- readonly errorCode: null;
773
582
  readonly id: string;
774
583
  readonly provider: {
775
- id: "bridge" | "bungee" | "lifi" | "relay";
776
- kind: "aggregator" | "enterpriseTransfer" | "solverNetwork";
777
- name: "Bridge.xyz" | "Bungee" | "LI.FI" | "Relay";
584
+ id: "across" | "relay" | "rhino";
585
+ kind: "bridge" | "intentBridge" | "solverNetwork";
586
+ name: "Across" | "Relay" | "Rhino";
778
587
  requiresApiKey: boolean;
779
588
  };
780
- readonly quality: {
781
- readonly availableVolumeUsd: null;
782
- readonly estimatedSeconds: null;
783
- readonly feeBps: null;
784
- readonly historicalVolumeUsd24h: null;
785
- readonly instantVolumeUsd: null;
786
- readonly liquiditySource: 'staticInventory';
787
- readonly score: null;
788
- readonly sourceDetail: null;
789
- readonly tier: 'unknown';
790
- };
791
- readonly quote: null;
792
589
  readonly sourceAmount: {
793
590
  amount: string;
794
591
  formatted: string;
795
- usd: null;
796
592
  };
797
593
  readonly sourceChain: {
798
- addressFormat: "evm" | "solana" | "tron";
799
- id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:mainnet" | "tron:mainnet";
594
+ addressFormat: "base58" | "base58check" | "evm";
595
+ id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "tron:0x2b6653dc";
800
596
  kind: "evm" | "solana" | "tron";
801
597
  name: "BNB Smart Chain" | "Base" | "Ethereum" | "Solana" | "Tron";
802
598
  providerIds: {
803
- readonly bridge: 'ethereum';
804
- readonly bungee: '1';
805
- readonly lifi: '1';
599
+ readonly across: '1';
806
600
  readonly relay: '1';
807
601
  } | {
808
- readonly bridge: 'base';
809
- readonly bungee: '8453';
810
- readonly lifi: '8453';
602
+ readonly across: '8453';
811
603
  readonly relay: '8453';
604
+ readonly rhino: 'BASE';
812
605
  } | {
813
- readonly bungee: '56';
814
- readonly lifi: '56';
606
+ readonly across: '56';
815
607
  readonly relay: '56';
816
608
  } | {
817
- readonly bridge: 'solana';
818
- readonly relay: 'solana';
609
+ readonly rhino: 'SOLANA';
819
610
  } | {
820
- readonly bridge: 'tron';
821
- readonly relay: 'tron';
611
+ readonly rhino: 'TRON';
822
612
  };
823
613
  };
824
614
  readonly sourceToken: {
825
- address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
615
+ address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
826
616
  decimals: 6 | 18;
827
617
  metadata: {
828
618
  coingeckoId: "dai" | "euro-coin" | "paypal-usd" | "tether" | "usd-coin";
@@ -833,10 +623,9 @@ declare function formatRouteCandidate(options: {
833
623
  tokenKey: string;
834
624
  verified: boolean;
835
625
  };
836
- readonly status: 'unknown';
837
626
  };
838
627
  declare function formatSourceToken(chain: SourceChainInput, token: TokenInput): {
839
- address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "Es9vMFrzaCERmJfrF4H2FYD4KCo3LwC1uix9YEaQ8t1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
628
+ address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
840
629
  decimals: 6 | 18;
841
630
  metadata: {
842
631
  coingeckoId: "dai" | "euro-coin" | "paypal-usd" | "tether" | "usd-coin";
@@ -847,10 +636,89 @@ declare function formatSourceToken(chain: SourceChainInput, token: TokenInput):
847
636
  tokenKey: string;
848
637
  verified: boolean;
849
638
  };
639
+ type SuccessfulQuoteProbe = QuoteProbeResult & {
640
+ outputAmount: string;
641
+ status: 'available' | 'thin';
642
+ };
643
+ declare function formatFundingQuote(candidate: QuoteCandidate, quote: SuccessfulQuoteProbe): {
644
+ readonly destinationChain: {
645
+ readonly addressFormat: 'evm';
646
+ readonly id: 'eip155:4217';
647
+ readonly kind: 'evm';
648
+ readonly name: 'Tempo';
649
+ };
650
+ readonly destinationToken: {
651
+ address: "0x20c0000000000000000000000000000000000000" | "0x20c00000000000000000000014f22ca97301eb73" | "0x20c0000000000000000000001621e21f71cf12fb" | "0x20c0000000000000000000003554d28269e0f3c2" | "0x20c000000000000000000000b9537d11c60e8b50";
652
+ decimals: 6;
653
+ metadata: {};
654
+ name: "Bridged EURC" | "Bridged USDC (Stargate)" | "USDT0" | "frxUSD" | "pathUSD";
655
+ standard: "TIP-20";
656
+ symbol: "EURC.e" | "USDC.e" | "USDT0" | "frxUSD" | "pathUSD";
657
+ tokenKey: string;
658
+ verified: boolean;
659
+ };
660
+ readonly id: string;
661
+ readonly provider: {
662
+ id: "across" | "relay" | "rhino";
663
+ kind: "bridge" | "intentBridge" | "solverNetwork";
664
+ name: "Across" | "Relay" | "Rhino";
665
+ requiresApiKey: boolean;
666
+ };
667
+ readonly sourceAmount: {
668
+ amount: string;
669
+ formatted: string;
670
+ };
671
+ readonly sourceChain: {
672
+ addressFormat: "base58" | "base58check" | "evm";
673
+ id: "eip155:1" | "eip155:56" | "eip155:8453" | "solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp" | "tron:0x2b6653dc";
674
+ kind: "evm" | "solana" | "tron";
675
+ name: "BNB Smart Chain" | "Base" | "Ethereum" | "Solana" | "Tron";
676
+ providerIds: {
677
+ readonly across: '1';
678
+ readonly relay: '1';
679
+ } | {
680
+ readonly across: '8453';
681
+ readonly relay: '8453';
682
+ readonly rhino: 'BASE';
683
+ } | {
684
+ readonly across: '56';
685
+ readonly relay: '56';
686
+ } | {
687
+ readonly rhino: 'SOLANA';
688
+ } | {
689
+ readonly rhino: 'TRON';
690
+ };
691
+ };
692
+ readonly sourceToken: {
693
+ address: "0x1abaea1f7c830bd89acc67ec4af516284b1bc33c" | "0x55d398326f99059ff775485246999027b3197955" | "0x60a3e35cc302bfa44cb288bc5a4f316fdb1adb42" | "0x6b175474e89094c44da98b954eedeac495271d0f" | "0x6c3ea9036406852006290770bedfcaba0e23a0e8" | "0x833589fcd6edb6e08f4c7c32d4f71b54bda02913" | "0x8ac76a51cc950d9822d68b83fe1ad97b32cd580d" | "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48" | "0xdac17f958d2ee523a2206206994597c13d831ec7" | "0xfde4c96c8593536e31f229ea8f37b2ada2699bb2" | "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" | "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t";
694
+ decimals: 6 | 18;
695
+ metadata: {
696
+ coingeckoId: "dai" | "euro-coin" | "paypal-usd" | "tether" | "usd-coin";
697
+ };
698
+ name: "Binance-Peg USD Coin" | "Dai Stablecoin" | "Euro Coin" | "PayPal USD" | "Tether USD" | "USD Coin";
699
+ standard: "BEP-20" | "ERC-20" | "SPL" | "TRC-20";
700
+ symbol: "DAI" | "EURC" | "PYUSD" | "USDC" | "USDT";
701
+ tokenKey: string;
702
+ verified: boolean;
703
+ };
704
+ readonly quality: {
705
+ readonly estimatedSeconds?: number;
706
+ readonly liquiditySource: string;
707
+ readonly sourceDetail?: string;
708
+ readonly tier: "liquid" | "thin";
709
+ };
710
+ readonly quote: {
711
+ readonly expiresAt?: string;
712
+ readonly inputAmount: string;
713
+ readonly minimumOutputAmount?: string;
714
+ readonly outputAmount: string;
715
+ readonly outputAmountFormatted: string;
716
+ readonly sampledAt: string;
717
+ };
718
+ };
850
719
  declare function resolveSourceAmount(options: resolveSourceAmount.Options): {
851
720
  amount: string;
852
721
  formatted: string;
853
- usd: null;
854
722
  };
855
723
  declare namespace resolveSourceAmount {
856
724
  type Options = {
@@ -867,16 +735,19 @@ export declare class UnsupportedDestinationTokenError extends Error {
867
735
  export declare class InvalidAmountError extends Error {
868
736
  name: string;
869
737
  }
870
- /** Error thrown internally when a provider adapter exceeds its route quote timeout. */
738
+ /** Error thrown internally when a provider adapter exceeds its quote timeout. */
871
739
  export declare class ProviderAdapterTimeoutError extends Error {
872
740
  name: string;
873
741
  }
874
- /** Error thrown when the caller filters to an unknown provider. */
875
- export declare class UnsupportedProviderError extends Error {
742
+ /** Error thrown when every matching provider fails to produce a quote. */
743
+ export declare class ProviderQuoteError extends Error {
876
744
  name: string;
745
+ /** Provider failures that prevented a successful quote. */
746
+ failures: readonly ProviderFailure[];
747
+ constructor(failures: readonly ProviderFailure[]);
877
748
  }
878
- /** Error thrown when the caller requests an unsupported include expansion. */
879
- export declare class UnsupportedIncludeError extends Error {
749
+ /** Error thrown when the caller filters to an unknown provider. */
750
+ export declare class UnsupportedProviderError extends Error {
880
751
  name: string;
881
752
  }
882
753
  /** Error thrown when the caller supplies an unsupported source chain. */
@@ -884,4 +755,4 @@ export declare class UnsupportedSourceChainError extends Error {
884
755
  name: string;
885
756
  }
886
757
  export {};
887
- //# sourceMappingURL=FundingRoutes.d.ts.map
758
+ //# sourceMappingURL=FundingQuotes.d.ts.map