tapimo 0.4.3 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/dist/App.d.ts +7222 -6316
  2. package/dist/App.d.ts.map +1 -1
  3. package/dist/App.js +4 -0
  4. package/dist/App.js.map +1 -1
  5. package/dist/Scope.d.ts +18 -1
  6. package/dist/Scope.d.ts.map +1 -1
  7. package/dist/Scope.js +24 -3
  8. package/dist/Scope.js.map +1 -1
  9. package/dist/admin/apps/verified-tokens.d.ts +116 -116
  10. package/dist/apps/data/App.d.ts +2541 -2607
  11. package/dist/apps/data/App.d.ts.map +1 -1
  12. package/dist/apps/data/App.js +135 -44
  13. package/dist/apps/data/App.js.map +1 -1
  14. package/dist/apps/data/FundingQuoteProviders.d.ts +36 -0
  15. package/dist/apps/data/FundingQuoteProviders.d.ts.map +1 -0
  16. package/dist/apps/data/FundingQuoteProviders.js +190 -0
  17. package/dist/apps/data/FundingQuoteProviders.js.map +1 -0
  18. package/dist/apps/data/index.d.ts +1 -1
  19. package/dist/apps/data/index.js +1 -1
  20. package/dist/apps/data/routes/activities.d.ts +242 -242
  21. package/dist/apps/data/routes/addresses.d.ts +227 -227
  22. package/dist/apps/data/routes/balances.d.ts +12 -12
  23. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  24. package/dist/apps/data/routes/balances.js +67 -149
  25. package/dist/apps/data/routes/balances.js.map +1 -1
  26. package/dist/apps/data/routes/blocks.d.ts +125 -126
  27. package/dist/apps/data/routes/blocks.d.ts.map +1 -1
  28. package/dist/apps/data/routes/blocks.js +3 -5
  29. package/dist/apps/data/routes/blocks.js.map +1 -1
  30. package/dist/apps/data/routes/coingecko.d.ts +55 -54
  31. package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
  32. package/dist/apps/data/routes/coingecko.js +3 -8
  33. package/dist/apps/data/routes/coingecko.js.map +1 -1
  34. package/dist/apps/data/routes/exchanges.d.ts +455 -455
  35. package/dist/apps/data/routes/fee-amm.d.ts +92 -92
  36. package/dist/apps/data/routes/funding.d.ts +91 -864
  37. package/dist/apps/data/routes/funding.d.ts.map +1 -1
  38. package/dist/apps/data/routes/funding.js +138 -450
  39. package/dist/apps/data/routes/funding.js.map +1 -1
  40. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  41. package/dist/apps/data/routes/rpc.js +86 -16
  42. package/dist/apps/data/routes/rpc.js.map +1 -1
  43. package/dist/apps/data/routes/tokenlist.d.ts +36 -36
  44. package/dist/apps/data/routes/webhooks.d.ts +340 -0
  45. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  46. package/dist/apps/data/routes/webhooks.js +13 -1
  47. package/dist/apps/data/routes/webhooks.js.map +1 -1
  48. package/dist/apps/index.d.ts +1 -1
  49. package/dist/apps/index.js +1 -1
  50. package/dist/apps/management/App.d.ts +1843 -861
  51. package/dist/apps/management/App.d.ts.map +1 -1
  52. package/dist/apps/management/App.js +4 -0
  53. package/dist/apps/management/App.js.map +1 -1
  54. package/dist/apps/management/routes/api-keys.d.ts +121 -121
  55. package/dist/apps/management/routes/api-keys.js +2 -2
  56. package/dist/apps/management/routes/api-keys.js.map +1 -1
  57. package/dist/apps/management/routes/billing.d.ts +2 -2
  58. package/dist/apps/management/routes/invite-links.d.ts +1100 -0
  59. package/dist/apps/management/routes/invite-links.d.ts.map +1 -0
  60. package/dist/apps/management/routes/invite-links.js +411 -0
  61. package/dist/apps/management/routes/invite-links.js.map +1 -0
  62. package/dist/apps/management/routes/me.d.ts +13 -13
  63. package/dist/apps/management/routes/members.d.ts +77 -77
  64. package/dist/apps/management/routes/orgs.d.ts +96 -96
  65. package/dist/apps/management/routes/projects.d.ts +62 -62
  66. package/dist/apps/management/routes/scopes.d.ts +11 -11
  67. package/dist/apps/management/routes/scopes.d.ts.map +1 -1
  68. package/dist/apps/management/routes/scopes.js +2 -2
  69. package/dist/apps/management/routes/scopes.js.map +1 -1
  70. package/dist/apps/management/routes/usage.d.ts +79 -79
  71. package/dist/apps/mcp.d.ts.map +1 -1
  72. package/dist/apps/mcp.js +3 -1
  73. package/dist/apps/mcp.js.map +1 -1
  74. package/dist/apps/relay/App.d.ts.map +1 -1
  75. package/dist/apps/relay/App.js +42 -4
  76. package/dist/apps/relay/App.js.map +1 -1
  77. package/dist/cloudflare.d.ts +2 -0
  78. package/dist/cloudflare.d.ts.map +1 -1
  79. package/dist/cloudflare.js +4 -0
  80. package/dist/cloudflare.js.map +1 -1
  81. package/dist/db/Db.d.ts +3 -0
  82. package/dist/db/Db.d.ts.map +1 -1
  83. package/dist/db/Db.js +57 -0
  84. package/dist/db/Db.js.map +1 -1
  85. package/dist/db/Schema.d.ts +31 -0
  86. package/dist/db/Schema.d.ts.map +1 -1
  87. package/dist/db/Schema.js +31 -0
  88. package/dist/db/Schema.js.map +1 -1
  89. package/dist/db/tables/inviteLinks.d.ts +42 -0
  90. package/dist/db/tables/inviteLinks.d.ts.map +1 -0
  91. package/dist/db/tables/inviteLinks.js +148 -0
  92. package/dist/db/tables/inviteLinks.js.map +1 -0
  93. package/dist/db/tables/organizations.d.ts.map +1 -1
  94. package/dist/db/tables/organizations.js +2 -0
  95. package/dist/db/tables/organizations.js.map +1 -1
  96. package/dist/handlers/relay.d.ts.map +1 -1
  97. package/dist/handlers/relay.js +13 -3
  98. package/dist/handlers/relay.js.map +1 -1
  99. package/dist/internal/Auth.d.ts +42 -23
  100. package/dist/internal/Auth.d.ts.map +1 -1
  101. package/dist/internal/Auth.js +169 -20
  102. package/dist/internal/Auth.js.map +1 -1
  103. package/dist/internal/EdgeCache.d.ts +3 -1
  104. package/dist/internal/EdgeCache.d.ts.map +1 -1
  105. package/dist/internal/EdgeCache.js +17 -2
  106. package/dist/internal/EdgeCache.js.map +1 -1
  107. package/dist/internal/Errors.d.ts +6 -0
  108. package/dist/internal/Errors.d.ts.map +1 -0
  109. package/dist/internal/Errors.js +16 -0
  110. package/dist/internal/Errors.js.map +1 -0
  111. package/dist/internal/FundingQuotes.d.ts +644 -0
  112. package/dist/internal/FundingQuotes.d.ts.map +1 -0
  113. package/dist/internal/{FundingRoutes.js → FundingQuotes.js} +93 -289
  114. package/dist/internal/FundingQuotes.js.map +1 -0
  115. package/dist/internal/Store.d.ts +61 -16
  116. package/dist/internal/Store.d.ts.map +1 -1
  117. package/dist/internal/Store.js +72 -17
  118. package/dist/internal/Store.js.map +1 -1
  119. package/dist/internal/Viem.d.ts +2 -0
  120. package/dist/internal/Viem.d.ts.map +1 -1
  121. package/dist/internal/Viem.js +11 -2
  122. package/dist/internal/Viem.js.map +1 -1
  123. package/dist/internal/index.d.ts +27 -0
  124. package/dist/internal/index.d.ts.map +1 -0
  125. package/dist/internal/index.js +27 -0
  126. package/dist/internal/index.js.map +1 -0
  127. package/package.json +8 -3
  128. package/src/ApiKeys.test.ts +23 -0
  129. package/src/App.test-d.ts +2 -0
  130. package/src/App.test.ts +60 -4
  131. package/src/App.ts +6 -0
  132. package/src/Client.test-d.ts +16 -54
  133. package/src/Scope.test.ts +1 -0
  134. package/src/Scope.ts +30 -4
  135. package/src/apps/data/App.test.ts +354 -0
  136. package/src/apps/data/App.ts +159 -52
  137. package/src/apps/data/FundingQuoteProviders.test.ts +151 -0
  138. package/src/apps/data/FundingQuoteProviders.ts +251 -0
  139. package/src/apps/data/index.ts +1 -1
  140. package/src/apps/data/routes/balances.test.ts +64 -18
  141. package/src/apps/data/routes/balances.ts +76 -177
  142. package/src/apps/data/routes/blocks.ts +3 -5
  143. package/src/apps/data/routes/coingecko.ts +3 -8
  144. package/src/apps/data/routes/funding.test.ts +149 -306
  145. package/src/apps/data/routes/funding.ts +154 -604
  146. package/src/apps/data/routes/indexer.test.ts +99 -3
  147. package/src/apps/data/routes/rpc.test.ts +219 -0
  148. package/src/apps/data/routes/rpc.ts +92 -17
  149. package/src/apps/data/routes/webhooks.test.ts +23 -2
  150. package/src/apps/data/routes/webhooks.ts +13 -1
  151. package/src/apps/index.ts +1 -1
  152. package/src/apps/management/App.ts +4 -0
  153. package/src/apps/management/routes/api-keys.test.ts +47 -3
  154. package/src/apps/management/routes/api-keys.ts +2 -2
  155. package/src/apps/management/routes/invite-links.test.ts +385 -0
  156. package/src/apps/management/routes/invite-links.ts +570 -0
  157. package/src/apps/management/routes/scopes.test.ts +3 -2
  158. package/src/apps/management/routes/scopes.ts +4 -2
  159. package/src/apps/mcp.test.ts +55 -14
  160. package/src/apps/mcp.ts +3 -1
  161. package/src/apps/relay/App.test.ts +324 -4
  162. package/src/apps/relay/App.ts +40 -4
  163. package/src/cloudflare.ts +5 -0
  164. package/src/db/Db.ts +65 -0
  165. package/src/db/Schema.ts +39 -0
  166. package/src/db/tables/inviteLinks.ts +187 -0
  167. package/src/db/tables/organizations.ts +2 -0
  168. package/src/handlers/relay.ts +16 -4
  169. package/src/internal/Auth.test.ts +528 -37
  170. package/src/internal/Auth.ts +246 -45
  171. package/src/internal/EdgeCache.test.ts +24 -3
  172. package/src/internal/EdgeCache.ts +18 -2
  173. package/src/internal/FundingQuotes.test.ts +174 -0
  174. package/src/internal/FundingQuotes.ts +735 -0
  175. package/src/internal/Log.test.ts +4 -4
  176. package/src/internal/Store.test-d.ts +15 -0
  177. package/src/internal/Store.test.ts +153 -2
  178. package/src/internal/Store.ts +157 -41
  179. package/src/internal/Viem.ts +14 -5
  180. package/src/internal/index.test.ts +34 -0
  181. package/src/internal/index.ts +26 -0
  182. package/dist/apps/data/FundingRouteProviders.d.ts +0 -143
  183. package/dist/apps/data/FundingRouteProviders.d.ts.map +0 -1
  184. package/dist/apps/data/FundingRouteProviders.js +0 -546
  185. package/dist/apps/data/FundingRouteProviders.js.map +0 -1
  186. package/dist/internal/FundingRoutes.d.ts +0 -1085
  187. package/dist/internal/FundingRoutes.d.ts.map +0 -1
  188. package/dist/internal/FundingRoutes.js.map +0 -1
  189. package/src/apps/data/FundingRouteProviders.test.ts +0 -485
  190. package/src/apps/data/FundingRouteProviders.ts +0 -744
  191. package/src/internal/FundingRoutes.test.ts +0 -239
  192. package/src/internal/FundingRoutes.ts +0 -1067
@@ -1,143 +0,0 @@
1
- import * as FundingRoutes from '../../internal/FundingRoutes.js';
2
- type Fetch = typeof globalThis.fetch;
3
- /** Creates the live funding route adapters configured for this deployment. */
4
- export declare function createAdapters(options?: createAdapters.Options): {
5
- across?: FundingRoutes.ProviderAdapter;
6
- relay?: FundingRoutes.ProviderAdapter;
7
- };
8
- export declare namespace createAdapters {
9
- /** Provider adapter factory options. Omit a provider to keep its routes static. */
10
- type Options = {
11
- /** Across discovery adapter options. */
12
- across?: across.Options | false | undefined;
13
- /** Relay quote adapter options. */
14
- relay?: relay.Options | false | undefined;
15
- };
16
- }
17
- /** Creates an Across discovery adapter backed by `/suggested-fees`. */
18
- export declare function across(options: across.Options): FundingRoutes.ProviderAdapter;
19
- /** Builds the authenticated Across `/swap/approval` request for an exact-input quote. */
20
- export declare function createAcrossQuoteRequest(options: createAcrossQuoteRequest.Options): {
21
- headers: {
22
- Authorization: string;
23
- };
24
- url: URL;
25
- };
26
- export declare namespace createAcrossQuoteRequest {
27
- /** Inputs required to construct an Across exact-input quote request. */
28
- type Options = {
29
- /** Across API key sent as a bearer token. */
30
- apiKey: string;
31
- /** Optional Across API base URL. */
32
- baseUrl?: string | undefined;
33
- /** Address that would submit the source transaction. */
34
- depositor: string;
35
- /** Across integrator id sent as the required query parameter. */
36
- integratorId: string;
37
- /** Optional destination recipient. */
38
- recipient?: string | undefined;
39
- /** Curated route selected for the quote. */
40
- route: FundingRoutes.RouteCandidate;
41
- };
42
- }
43
- /** Creates an explicit Across quote adapter backed by `/swap/approval`. */
44
- export declare function acrossQuote(options: acrossQuote.Options): FundingRoutes.ProviderQuote;
45
- export declare namespace acrossQuote {
46
- /** Across Swap API adapter options. */
47
- type Options = {
48
- /** Across API key sent as a bearer token. */
49
- apiKey: string;
50
- /** Optional Across API base URL. */
51
- baseUrl?: string | undefined;
52
- /** Across integrator id sent as the required query parameter. */
53
- integratorId: string;
54
- };
55
- }
56
- /** Returns bounded Across quote failure details suitable for structured request logs. */
57
- export declare function acrossQuoteFailure(options: acrossQuoteFailure.Options): acrossQuoteFailure.Result;
58
- export declare namespace acrossQuoteFailure {
59
- /** Inputs used to classify an Across quote failure. */
60
- type Options = {
61
- /** Error thrown by the Across quote boundary. */
62
- cause: unknown;
63
- };
64
- /** Bounded diagnostic fields, or undefined when the thrown value is not an error. */
65
- type Result = {
66
- /** Stable provider error code, when one is safe to retain. */
67
- code?: string | undefined;
68
- /** Failure boundary that rejected the provider request. */
69
- failure: 'http' | 'network' | 'payload' | 'unknown';
70
- /** Provider identifier. */
71
- id: 'across';
72
- /** Across operation identifier. */
73
- operation: 'swap/approval';
74
- /** Upstream HTTP status, when a response was received. */
75
- status?: number | undefined;
76
- } | undefined;
77
- }
78
- export declare namespace across {
79
- /** Across API adapter options. */
80
- type Options = {
81
- /** Override for tests or non-production Across environments. */
82
- baseUrl?: string | undefined;
83
- /** Fetch implementation override for tests. */
84
- fetch?: Fetch | undefined;
85
- /** Across API key sent as a bearer token. */
86
- apiKey: string;
87
- /** Across integrator id sent as the required query parameter. */
88
- integratorId: string;
89
- /** Clock override for deterministic tests. */
90
- now?: (() => Date) | undefined;
91
- };
92
- }
93
- /** Creates a Relay quote adapter backed by `/chains/liquidity` and `/quote/v2`. */
94
- export declare function relay(options: relay.Options): FundingRoutes.ProviderAdapter;
95
- export declare namespace relay {
96
- /** Relay quote adapter options. */
97
- type Options = {
98
- /** Probe wallet address required by Relay's quote API. */
99
- userAddress: string;
100
- /** Optional recipient override; defaults to `userAddress`. */
101
- recipientAddress?: string | undefined;
102
- /** Optional Relay API key for higher rate limits. */
103
- apiKey?: string | undefined;
104
- /** Override for tests or Relay testnet environments. */
105
- baseUrl?: string | undefined;
106
- /** Fetch implementation override for tests. */
107
- fetch?: Fetch | undefined;
108
- /** Clock override for deterministic tests. */
109
- now?: (() => Date) | undefined;
110
- };
111
- }
112
- /** Maps an Across HTTP error into the stable funding-provider error contract. */
113
- export declare function mapAcrossQuoteError(options: mapAcrossQuoteError.Options): FundingRoutes.ProviderQuoteUnavailableError | FundingRoutes.ProviderRateLimitError | ProviderResponseError;
114
- export declare namespace mapAcrossQuoteError {
115
- /** Across HTTP error response to classify. */
116
- type Options = {
117
- /** Parsed response body returned by Across. */
118
- body: unknown;
119
- /** Across HTTP response status. */
120
- status: number;
121
- };
122
- }
123
- /** Validates and normalizes an Across quote payload against its curated route. */
124
- export declare function parseAcrossQuote(options: parseAcrossQuote.Options): FundingRoutes.ProviderQuoteResult;
125
- export declare namespace parseAcrossQuote {
126
- /** Inputs required to validate and normalize an Across quote payload. */
127
- type Options = {
128
- /** Untrusted JSON body returned by Across. */
129
- body: unknown;
130
- /** Timestamp when Tempo sampled the response. */
131
- now: Date;
132
- /** Curated route the response must match. */
133
- route: FundingRoutes.RouteCandidate;
134
- };
135
- }
136
- declare class ProviderResponseError extends Error {
137
- readonly status: number;
138
- readonly body: unknown;
139
- name: string;
140
- constructor(status: number, body: unknown);
141
- }
142
- export {};
143
- //# sourceMappingURL=FundingRouteProviders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FundingRouteProviders.d.ts","sourceRoot":"","sources":["../../../src/apps/data/FundingRouteProviders.ts"],"names":[],"mappings":"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"}