tapimo 0.9.0 → 0.10.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 (319) hide show
  1. package/dist/ApiKey.d.ts +2 -1
  2. package/dist/ApiKey.d.ts.map +1 -1
  3. package/dist/ApiKeys.d.ts +4 -2
  4. package/dist/ApiKeys.d.ts.map +1 -1
  5. package/dist/ApiKeys.js +26 -1
  6. package/dist/ApiKeys.js.map +1 -1
  7. package/dist/App.d.ts +4292 -3708
  8. package/dist/App.d.ts.map +1 -1
  9. package/dist/App.js +1 -0
  10. package/dist/App.js.map +1 -1
  11. package/dist/Webhooks.d.ts +21 -20
  12. package/dist/Webhooks.d.ts.map +1 -1
  13. package/dist/Webhooks.js +66 -23
  14. package/dist/Webhooks.js.map +1 -1
  15. package/dist/admin/App.d.ts +91 -84
  16. package/dist/admin/App.d.ts.map +1 -1
  17. package/dist/admin/apps/api-keys.d.ts +26 -17
  18. package/dist/admin/apps/api-keys.d.ts.map +1 -1
  19. package/dist/admin/apps/api-keys.js +6 -0
  20. package/dist/admin/apps/api-keys.js.map +1 -1
  21. package/dist/admin/apps/organizations.d.ts +4 -2
  22. package/dist/admin/apps/organizations.d.ts.map +1 -1
  23. package/dist/admin/apps/verified-tokens.d.ts +168 -168
  24. package/dist/admin/ui.generated.d.ts +1 -1
  25. package/dist/admin/ui.generated.js +69 -69
  26. package/dist/admin/ui.generated.js.map +1 -1
  27. package/dist/analytics/Analytics.d.ts.map +1 -1
  28. package/dist/analytics/Analytics.js +26 -0
  29. package/dist/analytics/Analytics.js.map +1 -1
  30. package/dist/apps/Zones.d.ts +4280 -84
  31. package/dist/apps/Zones.d.ts.map +1 -1
  32. package/dist/apps/Zones.js +30 -10
  33. package/dist/apps/Zones.js.map +1 -1
  34. package/dist/apps/data/App.d.ts +5799 -4929
  35. package/dist/apps/data/App.d.ts.map +1 -1
  36. package/dist/apps/data/FxOracle.d.ts +4 -5
  37. package/dist/apps/data/FxOracle.d.ts.map +1 -1
  38. package/dist/apps/data/FxOracle.js +19 -4
  39. package/dist/apps/data/FxOracle.js.map +1 -1
  40. package/dist/apps/data/routes/activities.d.ts +3391 -492
  41. package/dist/apps/data/routes/activities.d.ts.map +1 -1
  42. package/dist/apps/data/routes/activities.js +372 -29
  43. package/dist/apps/data/routes/activities.js.map +1 -1
  44. package/dist/apps/data/routes/addresses.d.ts +853 -339
  45. package/dist/apps/data/routes/addresses.d.ts.map +1 -1
  46. package/dist/apps/data/routes/balances.d.ts +10 -10
  47. package/dist/apps/data/routes/balances.d.ts.map +1 -1
  48. package/dist/apps/data/routes/balances.js +145 -83
  49. package/dist/apps/data/routes/balances.js.map +1 -1
  50. package/dist/apps/data/routes/blocks.d.ts +123 -123
  51. package/dist/apps/data/routes/coingecko.d.ts +169 -169
  52. package/dist/apps/data/routes/earn.d.ts +455 -1
  53. package/dist/apps/data/routes/earn.d.ts.map +1 -1
  54. package/dist/apps/data/routes/earn.js +369 -45
  55. package/dist/apps/data/routes/earn.js.map +1 -1
  56. package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
  57. package/dist/apps/data/routes/exchanges.js +114 -118
  58. package/dist/apps/data/routes/exchanges.js.map +1 -1
  59. package/dist/apps/data/routes/fee-amm.d.ts +24 -24
  60. package/dist/apps/data/routes/indexer.d.ts +35 -34
  61. package/dist/apps/data/routes/indexer.d.ts.map +1 -1
  62. package/dist/apps/data/routes/indexer.js +3 -2
  63. package/dist/apps/data/routes/indexer.js.map +1 -1
  64. package/dist/apps/data/routes/receipts.d.ts.map +1 -1
  65. package/dist/apps/data/routes/receipts.js +68 -47
  66. package/dist/apps/data/routes/receipts.js.map +1 -1
  67. package/dist/apps/data/routes/rpc.d.ts +31 -31
  68. package/dist/apps/data/routes/rpc.d.ts.map +1 -1
  69. package/dist/apps/data/routes/rpc.js +5 -1
  70. package/dist/apps/data/routes/rpc.js.map +1 -1
  71. package/dist/apps/data/routes/tokenlist.d.ts +12 -12
  72. package/dist/apps/data/routes/tokens.d.ts +461 -459
  73. package/dist/apps/data/routes/tokens.d.ts.map +1 -1
  74. package/dist/apps/data/routes/transactions.d.ts +313 -305
  75. package/dist/apps/data/routes/transactions.d.ts.map +1 -1
  76. package/dist/apps/data/routes/transactions.js +25 -23
  77. package/dist/apps/data/routes/transactions.js.map +1 -1
  78. package/dist/apps/data/routes/transfers.d.ts +108 -86
  79. package/dist/apps/data/routes/transfers.d.ts.map +1 -1
  80. package/dist/apps/data/routes/transfers.js +618 -105
  81. package/dist/apps/data/routes/transfers.js.map +1 -1
  82. package/dist/apps/data/routes/valuation.d.ts +21 -21
  83. package/dist/apps/data/routes/valuation.d.ts.map +1 -1
  84. package/dist/apps/data/routes/valuation.js +2 -2
  85. package/dist/apps/data/routes/valuation.js.map +1 -1
  86. package/dist/apps/data/routes/webhooks.d.ts +519 -868
  87. package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
  88. package/dist/apps/data/routes/webhooks.js +642 -353
  89. package/dist/apps/data/routes/webhooks.js.map +1 -1
  90. package/dist/apps/data/routes/zones.d.ts +31 -31
  91. package/dist/apps/data/routes/zones.d.ts.map +1 -1
  92. package/dist/apps/data/routes/zones.js +4 -2
  93. package/dist/apps/data/routes/zones.js.map +1 -1
  94. package/dist/apps/funding/routes/deposit-addresses.js +1 -1
  95. package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
  96. package/dist/apps/funding/routes/providers.d.ts +13 -13
  97. package/dist/apps/funding/routes/quotes.d.ts +89 -89
  98. package/dist/apps/funding/routes/transfers.d.ts +36 -36
  99. package/dist/apps/funding/routes/transfers.js +1 -1
  100. package/dist/apps/funding/routes/transfers.js.map +1 -1
  101. package/dist/apps/management/App.d.ts +11 -309
  102. package/dist/apps/management/App.d.ts.map +1 -1
  103. package/dist/apps/management/routes/api-keys.d.ts +74 -74
  104. package/dist/apps/management/routes/billing.js +1 -1
  105. package/dist/apps/management/routes/billing.js.map +1 -1
  106. package/dist/apps/management/routes/faucet.d.ts +35 -35
  107. package/dist/apps/management/routes/faucet.js +2 -2
  108. package/dist/apps/management/routes/faucet.js.map +1 -1
  109. package/dist/apps/management/routes/invitations.d.ts +134 -134
  110. package/dist/apps/management/routes/invite-links.d.ts +80 -80
  111. package/dist/apps/management/routes/members.d.ts +69 -69
  112. package/dist/apps/management/routes/orgs.d.ts +98 -98
  113. package/dist/apps/management/routes/projects.d.ts +60 -60
  114. package/dist/apps/management/routes/usage.d.ts +72 -72
  115. package/dist/apps/management/routes/verified-token-requests.d.ts +83 -83
  116. package/dist/apps/management/routes/webhooks.d.ts +203 -618
  117. package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
  118. package/dist/apps/mcp.d.ts.map +1 -1
  119. package/dist/apps/mcp.js +4 -1
  120. package/dist/apps/mcp.js.map +1 -1
  121. package/dist/apps/mpp/App.d.ts +56 -44
  122. package/dist/apps/mpp/App.d.ts.map +1 -1
  123. package/dist/apps/mpp/Mpp.d.ts +3 -0
  124. package/dist/apps/mpp/Mpp.d.ts.map +1 -1
  125. package/dist/apps/mpp/Mpp.js +3 -0
  126. package/dist/apps/mpp/Mpp.js.map +1 -1
  127. package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
  128. package/dist/apps/mpp/internal/Adapter.js +9 -2
  129. package/dist/apps/mpp/internal/Adapter.js.map +1 -1
  130. package/dist/db/Db.d.ts +4 -2
  131. package/dist/db/Db.d.ts.map +1 -1
  132. package/dist/db/Db.js +75 -15
  133. package/dist/db/Db.js.map +1 -1
  134. package/dist/db/Schema.d.ts +19 -0
  135. package/dist/db/Schema.d.ts.map +1 -1
  136. package/dist/db/Schema.js +24 -0
  137. package/dist/db/Schema.js.map +1 -1
  138. package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
  139. package/dist/db/tables/sponsoredTransactions.js +4 -1
  140. package/dist/db/tables/sponsoredTransactions.js.map +1 -1
  141. package/dist/db/tables/webhookQueueEvents.d.ts +122 -0
  142. package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -0
  143. package/dist/db/tables/webhookQueueEvents.js +160 -0
  144. package/dist/db/tables/webhookQueueEvents.js.map +1 -0
  145. package/dist/db/tables/webhookSubscriptions.d.ts +58 -3
  146. package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
  147. package/dist/db/tables/webhookSubscriptions.js +86 -3
  148. package/dist/db/tables/webhookSubscriptions.js.map +1 -1
  149. package/dist/internal/Auth.d.ts +3 -0
  150. package/dist/internal/Auth.d.ts.map +1 -1
  151. package/dist/internal/Auth.js +6 -4
  152. package/dist/internal/Auth.js.map +1 -1
  153. package/dist/internal/MetricSink.d.ts +139 -3
  154. package/dist/internal/MetricSink.d.ts.map +1 -1
  155. package/dist/internal/MetricSink.js +144 -4
  156. package/dist/internal/MetricSink.js.map +1 -1
  157. package/dist/internal/RateLimit.d.ts +4 -6
  158. package/dist/internal/RateLimit.d.ts.map +1 -1
  159. package/dist/internal/RateLimit.js +15 -14
  160. package/dist/internal/RateLimit.js.map +1 -1
  161. package/dist/internal/Schema.js +1 -1
  162. package/dist/internal/Schema.js.map +1 -1
  163. package/dist/internal/Store.d.ts +2 -1
  164. package/dist/internal/Store.d.ts.map +1 -1
  165. package/dist/internal/Store.js +57 -18
  166. package/dist/internal/Store.js.map +1 -1
  167. package/dist/internal/Tidx.d.ts +1 -3
  168. package/dist/internal/Tidx.d.ts.map +1 -1
  169. package/dist/internal/Tidx.js +1 -3
  170. package/dist/internal/Tidx.js.map +1 -1
  171. package/dist/internal/Value.d.ts +2 -0
  172. package/dist/internal/Value.d.ts.map +1 -1
  173. package/dist/internal/Value.js +25 -0
  174. package/dist/internal/Value.js.map +1 -1
  175. package/dist/internal/Viem.d.ts.map +1 -1
  176. package/dist/internal/Viem.js +2 -1
  177. package/dist/internal/Viem.js.map +1 -1
  178. package/dist/internal/WebhookDestination.d.ts +2 -0
  179. package/dist/internal/WebhookDestination.d.ts.map +1 -1
  180. package/dist/internal/WebhookDestination.js +11 -0
  181. package/dist/internal/WebhookDestination.js.map +1 -1
  182. package/dist/internal/WebhookTransfer.d.ts +75 -0
  183. package/dist/internal/WebhookTransfer.d.ts.map +1 -0
  184. package/dist/internal/WebhookTransfer.js +299 -0
  185. package/dist/internal/WebhookTransfer.js.map +1 -0
  186. package/dist/internal/Webhooks.d.ts +176 -0
  187. package/dist/internal/Webhooks.d.ts.map +1 -1
  188. package/dist/internal/Webhooks.js +216 -20
  189. package/dist/internal/Webhooks.js.map +1 -1
  190. package/dist/internal/funding/Provider.d.ts +4 -0
  191. package/dist/internal/funding/Provider.d.ts.map +1 -1
  192. package/dist/internal/funding/Provider.js +11 -7
  193. package/dist/internal/funding/Provider.js.map +1 -1
  194. package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
  195. package/dist/internal/funding/Reconciliation.js +128 -0
  196. package/dist/internal/funding/Reconciliation.js.map +1 -1
  197. package/dist/internal/funding/providers/relay.d.ts +6 -4
  198. package/dist/internal/funding/providers/relay.d.ts.map +1 -1
  199. package/dist/internal/funding/providers/relay.js +71 -9
  200. package/dist/internal/funding/providers/relay.js.map +1 -1
  201. package/package.json +4 -4
  202. package/src/ApiKeys.test.ts +20 -0
  203. package/src/ApiKeys.ts +28 -1
  204. package/src/App.test.ts +10 -8
  205. package/src/App.ts +1 -0
  206. package/src/Client.test-d.ts +61 -5
  207. package/src/Webhooks.bench.ts +714 -0
  208. package/src/Webhooks.memory.bench.ts +250 -0
  209. package/src/Webhooks.test.ts +77 -6
  210. package/src/Webhooks.ts +85 -29
  211. package/src/admin/apps/api-keys.test.ts +9 -0
  212. package/src/admin/apps/api-keys.ts +15 -0
  213. package/src/admin/ui/src/lib/query-client.ts +3 -2
  214. package/src/admin/ui/src/routes/api-keys.tsx +31 -9
  215. package/src/admin/ui.generated.ts +69 -69
  216. package/src/analytics/Analytics.test.ts +8 -0
  217. package/src/analytics/Analytics.ts +26 -0
  218. package/src/apps/Zones.test.ts +23 -5
  219. package/src/apps/Zones.ts +31 -10
  220. package/src/apps/composition.test.ts +1 -0
  221. package/src/apps/data/App.test.ts +2 -2
  222. package/src/apps/data/FxOracle.test.ts +18 -0
  223. package/src/apps/data/FxOracle.ts +28 -5
  224. package/src/apps/data/routes/activities.bench.ts +41 -0
  225. package/src/apps/data/routes/activities.test.ts +122 -2
  226. package/src/apps/data/routes/activities.ts +435 -32
  227. package/src/apps/data/routes/balances.bench.ts +21 -0
  228. package/src/apps/data/routes/balances.test.ts +119 -10
  229. package/src/apps/data/routes/balances.ts +164 -97
  230. package/src/apps/data/routes/blocks.bench.ts +34 -0
  231. package/src/apps/data/routes/blocks.test.ts +12 -6
  232. package/src/apps/data/routes/coingecko.bench.ts +53 -0
  233. package/src/apps/data/routes/earn.bench.ts +71 -0
  234. package/src/apps/data/routes/earn.test.ts +197 -0
  235. package/src/apps/data/routes/earn.ts +487 -45
  236. package/src/apps/data/routes/exchanges.bench.ts +85 -0
  237. package/src/apps/data/routes/exchanges.test.ts +7 -6
  238. package/src/apps/data/routes/exchanges.ts +124 -117
  239. package/src/apps/data/routes/fee-amm.bench.ts +13 -0
  240. package/src/apps/data/routes/indexer.bench.ts +8 -0
  241. package/src/apps/data/routes/indexer.test.ts +2 -1
  242. package/src/apps/data/routes/indexer.ts +3 -2
  243. package/src/apps/data/routes/receipts.bench.ts +39 -0
  244. package/src/apps/data/routes/receipts.test.ts +24 -7
  245. package/src/apps/data/routes/receipts.ts +67 -50
  246. package/src/apps/data/routes/rpc.bench.ts +14 -0
  247. package/src/apps/data/routes/rpc.test.ts +27 -0
  248. package/src/apps/data/routes/rpc.ts +5 -1
  249. package/src/apps/data/routes/tokenlist.bench.ts +3 -0
  250. package/src/apps/data/routes/tokens.bench.ts +76 -0
  251. package/src/apps/data/routes/tokens.test.ts +51 -0
  252. package/src/apps/data/routes/transactions.bench.ts +40 -0
  253. package/src/apps/data/routes/transactions.test.ts +42 -0
  254. package/src/apps/data/routes/transactions.ts +44 -39
  255. package/src/apps/data/routes/transfers.bench.ts +28 -0
  256. package/src/apps/data/routes/transfers.test.ts +402 -24
  257. package/src/apps/data/routes/transfers.ts +708 -101
  258. package/src/apps/data/routes/valuation.bench.ts +14 -0
  259. package/src/apps/data/routes/valuation.test.ts +26 -0
  260. package/src/apps/data/routes/valuation.ts +6 -2
  261. package/src/apps/data/routes/verified-tokens.bench.ts +8 -0
  262. package/src/apps/data/routes/webhooks.bench.ts +26 -0
  263. package/src/apps/data/routes/webhooks.scan.test.ts +326 -0
  264. package/src/apps/data/routes/webhooks.test.ts +466 -135
  265. package/src/apps/data/routes/webhooks.ts +820 -429
  266. package/src/apps/data/routes/zones.bench.ts +32 -0
  267. package/src/apps/data/routes/zones.test.ts +1 -1
  268. package/src/apps/data/routes/zones.ts +7 -2
  269. package/src/apps/funding/routes/chains.test.ts +1 -1
  270. package/src/apps/funding/routes/deposit-addresses.test.ts +1 -1
  271. package/src/apps/funding/routes/deposit-addresses.ts +1 -1
  272. package/src/apps/funding/routes/providers.test.ts +1 -1
  273. package/src/apps/funding/routes/quotes.test.ts +2 -2
  274. package/src/apps/funding/routes/transfers.test.ts +3 -6
  275. package/src/apps/funding/routes/transfers.ts +1 -1
  276. package/src/apps/management/routes/billing.ts +1 -1
  277. package/src/apps/management/routes/faucet.ts +2 -2
  278. package/src/apps/management/routes/me.test.ts +31 -0
  279. package/src/apps/mcp.ts +4 -1
  280. package/src/apps/mpp/Mpp.test.ts +13 -1
  281. package/src/apps/mpp/Mpp.ts +8 -0
  282. package/src/apps/mpp/internal/Adapter.ts +10 -2
  283. package/src/db/Db.test.ts +40 -6
  284. package/src/db/Db.ts +114 -19
  285. package/src/db/Schema.ts +32 -0
  286. package/src/db/tables/sponsoredTransactions.ts +9 -2
  287. package/src/db/tables/webhookQueueEvents.ts +285 -0
  288. package/src/db/tables/webhookSubscriptions.ts +131 -4
  289. package/src/internal/Auth.test.ts +61 -50
  290. package/src/internal/Auth.ts +9 -4
  291. package/src/internal/EarnVaults.test.ts +2 -2
  292. package/src/internal/MetricSink.test.ts +575 -0
  293. package/src/internal/MetricSink.ts +325 -10
  294. package/src/internal/RateLimit.test.ts +23 -18
  295. package/src/internal/RateLimit.ts +23 -15
  296. package/src/internal/Schema.ts +1 -1
  297. package/src/internal/Store.test.ts +99 -13
  298. package/src/internal/Store.ts +52 -17
  299. package/src/internal/Tidx.test.ts +4 -4
  300. package/src/internal/Tidx.ts +1 -3
  301. package/src/internal/Value.test.ts +25 -0
  302. package/src/internal/Value.ts +29 -0
  303. package/src/internal/Viem.test.ts +8 -0
  304. package/src/internal/Viem.ts +2 -1
  305. package/src/internal/WebhookDestination.test.ts +20 -0
  306. package/src/internal/WebhookDestination.ts +10 -0
  307. package/src/internal/WebhookTransfer.test.ts +89 -0
  308. package/src/internal/WebhookTransfer.ts +430 -0
  309. package/src/internal/Webhooks.test.ts +616 -0
  310. package/src/internal/Webhooks.ts +412 -24
  311. package/src/internal/funding/Provider.test.ts +48 -8
  312. package/src/internal/funding/Provider.ts +12 -7
  313. package/src/internal/funding/Reconciliation.local.test.ts +3 -1
  314. package/src/internal/funding/Reconciliation.test.ts +1240 -0
  315. package/src/internal/funding/Reconciliation.ts +136 -0
  316. package/src/internal/funding/SourceObservation.test.ts +1 -0
  317. package/src/internal/funding/providers/index.test.ts +73 -3
  318. package/src/internal/funding/providers/relay.test.ts +2 -9
  319. package/src/internal/funding/providers/relay.ts +72 -13
@@ -0,0 +1,299 @@
1
+ import { encodeEventTopics, parseAbiItem } from 'viem';
2
+ import * as z from 'zod/mini';
3
+ import * as Transfers from '../apps/data/routes/transfers.js';
4
+ import * as Schema from './Schema.js';
5
+ import * as Value from './Value.js';
6
+ /** Subscriptions matched per shared transfer scan. */
7
+ export const scanCohortSize = 32;
8
+ /**
9
+ * Blocks per transfer `eth_getLogs` request. Firehose scans stop after a
10
+ * 100-row page, so small windows bound the raw RPC body retained before that cap.
11
+ */
12
+ const scanChunkBlocks = 8;
13
+ const event = parseAbiItem(Transfers.signature);
14
+ const topic = encodeEventTopics({ abi: [event] })[0];
15
+ /** Returns a stable key for transfer filters with equivalent RPC pushdowns. */
16
+ function scanKey(filters_input) {
17
+ const filters = filters_input;
18
+ return JSON.stringify(normalizeRpcValue({
19
+ args: logArgs(filters),
20
+ token: filters.token,
21
+ }));
22
+ }
23
+ /** Scans transfer subscriptions through shared, memory-bounded RPC cohorts. */
24
+ export async function scan(options) {
25
+ const results = [];
26
+ const candidates = [];
27
+ for (let index = 0; index < options.states.length; index++) {
28
+ const state = options.states[index];
29
+ if (!state.window) {
30
+ results[index] = { status: 'fulfilled', value: { items: [] } };
31
+ continue;
32
+ }
33
+ candidates.push({
34
+ index,
35
+ key: scanKey(state.filters),
36
+ state: { ...state, window: state.window },
37
+ });
38
+ }
39
+ candidates.sort((a, b) => a.key.localeCompare(b.key) ||
40
+ a.state.window.from - b.state.window.from ||
41
+ a.state.window.to - b.state.window.to);
42
+ const cohorts = [];
43
+ for (const candidate of candidates) {
44
+ const previous = cohorts.at(-1);
45
+ const combinedBlocks = previous
46
+ ? Math.max(previous.window.to, candidate.state.window.to) - previous.window.from + 1
47
+ : 0;
48
+ if (!previous ||
49
+ candidate.key !== previous.key ||
50
+ candidate.state.window.from > previous.window.to ||
51
+ combinedBlocks > options.maxBlocks ||
52
+ previous.states.length >= scanCohortSize) {
53
+ cohorts.push({
54
+ key: candidate.key,
55
+ states: [candidate],
56
+ window: { from: candidate.state.window.from, to: candidate.state.window.to },
57
+ });
58
+ continue;
59
+ }
60
+ previous.states.push(candidate);
61
+ previous.window.to = Math.max(previous.window.to, candidate.state.window.to);
62
+ }
63
+ const settled = await mapWithLimit(cohorts, options.concurrency, (cohort) => options.schedule(async () => ({
64
+ cohort,
65
+ pages: await scanCohort({ client: options.client, cohort }),
66
+ })));
67
+ for (const entry of settled) {
68
+ if (entry.status === 'rejected')
69
+ continue;
70
+ for (let index = 0; index < entry.value.cohort.states.length; index++)
71
+ results[entry.value.cohort.states[index].index] = {
72
+ status: 'fulfilled',
73
+ value: entry.value.pages[index],
74
+ };
75
+ }
76
+ for (let index = 0; index < settled.length; index++) {
77
+ const entry = settled[index];
78
+ if (entry.status !== 'rejected')
79
+ continue;
80
+ for (const candidate of cohorts[index].states)
81
+ results[candidate.index] = { reason: entry.reason, status: 'rejected' };
82
+ }
83
+ return results;
84
+ }
85
+ /** Runs ordered async work with bounded concurrency. */
86
+ async function mapWithLimit(items, limit, fn) {
87
+ const results = [];
88
+ let next = 0;
89
+ await Promise.all(Array.from({ length: Math.min(limit, items.length) }, async () => {
90
+ while (next < items.length) {
91
+ const index = next++;
92
+ try {
93
+ results[index] = { status: 'fulfilled', value: await fn(items[index]) };
94
+ }
95
+ catch (reason) {
96
+ results[index] = { reason, status: 'rejected' };
97
+ }
98
+ }
99
+ }));
100
+ return results;
101
+ }
102
+ /** Recursively canonicalizes an RPC filter value for query grouping. */
103
+ function normalizeRpcValue(value) {
104
+ if (typeof value === 'bigint')
105
+ return `bigint:${value}`;
106
+ if (Array.isArray(value))
107
+ return value.map(normalizeRpcValue);
108
+ if (value && typeof value === 'object')
109
+ return Object.fromEntries(Object.entries(value)
110
+ .filter(([, item]) => item !== undefined)
111
+ .sort(([a], [b]) => a.localeCompare(b))
112
+ .map(([name, item]) => [name, normalizeRpcValue(item)]));
113
+ return value;
114
+ }
115
+ /** Returns indexed argument combinations pushed into Transfer log reads. */
116
+ function logArgs(filters) {
117
+ const args = {
118
+ ...(filters.sender ? { from: filters.sender } : {}),
119
+ ...(filters.recipient ? { to: filters.recipient } : {}),
120
+ };
121
+ return filters.address && !filters.sender && !filters.recipient
122
+ ? [{ from: filters.address }, { to: filters.address }]
123
+ : [args];
124
+ }
125
+ /** Encodes one indexed address as its left-padded event topic. */
126
+ function addressTopic(address) {
127
+ return `0x${'0'.repeat(24)}${address.slice(2).toLowerCase()}`;
128
+ }
129
+ /** Builds the exact Transfer topic filter for one indexed-argument combination. */
130
+ function topics(args) {
131
+ const values = [
132
+ topic,
133
+ args.from ? addressTopic(args.from) : null,
134
+ args.to ? addressTopic(args.to) : null,
135
+ ];
136
+ while (values.at(-1) === null)
137
+ values.pop();
138
+ return values;
139
+ }
140
+ /** Renders a block number as a JSON-RPC block tag. */
141
+ function blockTag(value) {
142
+ return `0x${value.toString(16)}`;
143
+ }
144
+ /** Issues an untyped JSON-RPC request through the Viem client. */
145
+ function rpc(client, method, params) {
146
+ return client.request({
147
+ method,
148
+ params: [...params],
149
+ });
150
+ }
151
+ /** Reads raw Transfer logs, splitting the either-side shortcut into two RPC filters. */
152
+ async function getLogs(client, filters, window) {
153
+ const pages = await Promise.all(logArgs(filters).map((args) => rpc(client, 'eth_getLogs', [
154
+ {
155
+ ...(filters.token ? { address: filters.token } : {}),
156
+ fromBlock: blockTag(window.from),
157
+ topics: topics(args),
158
+ toBlock: blockTag(window.to),
159
+ },
160
+ ])));
161
+ const logs = new Map();
162
+ for (const page of pages)
163
+ for (const log of page)
164
+ logs.set(`${log.blockNumber}:${log.logIndex}:${log.transactionHash}`, log);
165
+ return [...logs.values()];
166
+ }
167
+ /** Sorts raw logs into ascending `(blockNumber, logIndex)` order. */
168
+ function byPosition(a, b) {
169
+ const block = (Value.hexToNumber(a.blockNumber) ?? 0) - (Value.hexToNumber(b.blockNumber) ?? 0);
170
+ return block || (Value.hexToNumber(a.logIndex) ?? 0) - (Value.hexToNumber(b.logIndex) ?? 0);
171
+ }
172
+ /** True when an address is in Tempo's deterministic TIP-20 contract range. */
173
+ function isTip20Address(address) {
174
+ const value = address.toLowerCase();
175
+ return value >= Transfers.tip20AddressRange[0] && value < Transfers.tip20AddressRange[1];
176
+ }
177
+ /** Decodes one strict TIP-20 Transfer wire payload. */
178
+ export function decode(log, timestamp) {
179
+ if (!isTip20Address(log.address))
180
+ return undefined;
181
+ if (log.topics.length !== 3 ||
182
+ log.topics[0]?.toLowerCase() !== topic.toLowerCase() ||
183
+ !/^0x0{24}[0-9a-fA-F]{40}$/.test(log.topics[1] ?? '') ||
184
+ !/^0x0{24}[0-9a-fA-F]{40}$/.test(log.topics[2] ?? '') ||
185
+ !/^0x[0-9a-fA-F]{64}$/.test(log.data))
186
+ return undefined;
187
+ const address = Schema.TokenAddress.safeParse(log.address);
188
+ const recipient = Schema.Address.safeParse(`0x${log.topics[2].slice(-40)}`);
189
+ const sender = Schema.Address.safeParse(`0x${log.topics[1].slice(-40)}`);
190
+ const transactionHash = Schema.Hash.safeParse(log.transactionHash);
191
+ const amount = Value.fromHex(log.data);
192
+ const blockNumber = Value.hexToNumber(log.blockNumber);
193
+ const logIndex = Value.hexToNumber(log.logIndex);
194
+ if (!address.success ||
195
+ !recipient.success ||
196
+ !sender.success ||
197
+ !transactionHash.success ||
198
+ amount === undefined ||
199
+ blockNumber === undefined ||
200
+ logIndex === undefined)
201
+ return undefined;
202
+ return {
203
+ address: address.data,
204
+ amount,
205
+ blockNumber,
206
+ logIndex,
207
+ recipient: recipient.data,
208
+ sender: sender.data,
209
+ timestamp,
210
+ transactionHash: transactionHash.data,
211
+ };
212
+ }
213
+ /** Re-checks every transfer filter after RPC topic pushdown. */
214
+ export function matches(data, filters) {
215
+ if (filters.address && data.sender !== filters.address && data.recipient !== filters.address)
216
+ return false;
217
+ if (filters.recipient && data.recipient !== filters.recipient)
218
+ return false;
219
+ if (filters.sender && data.sender !== filters.sender)
220
+ return false;
221
+ if (filters.token && data.address !== filters.token)
222
+ return false;
223
+ return true;
224
+ }
225
+ /** Adds a matched row until one subscription reaches its fair-page limit. */
226
+ function addMatch(accumulator, item) {
227
+ if (accumulator.full)
228
+ return;
229
+ accumulator.items.push(item);
230
+ accumulator.full = accumulator.items.length >= accumulator.state.limit;
231
+ }
232
+ /** Checks whether a canonical row remains eligible for one subscription. */
233
+ function canMatch(accumulator, blockNumber, logIndex) {
234
+ const { skip, to } = accumulator.state.window;
235
+ return (!accumulator.full &&
236
+ blockNumber <= to &&
237
+ (blockNumber > skip[0] || (blockNumber === skip[0] && logIndex > skip[1])));
238
+ }
239
+ /** Converts match buffers into cursor-aware poller pages. */
240
+ function finish(accumulators) {
241
+ return accumulators.map((accumulator) => {
242
+ if (accumulator.full)
243
+ return { hasMore: true, items: accumulator.items };
244
+ if (accumulator.items.length > 0)
245
+ return { items: accumulator.items };
246
+ return { items: accumulator.items, scannedThrough: accumulator.state.window.to };
247
+ });
248
+ }
249
+ /** Scans one canonical transfer stream and fans rows into matching subscriptions. */
250
+ async function scanCohort(options) {
251
+ const { client, cohort } = options;
252
+ const accumulators = cohort.states.map(({ state }) => ({
253
+ full: false,
254
+ items: [],
255
+ state,
256
+ }));
257
+ const timestamps = new Map();
258
+ const timestamp = (blockNumber) => {
259
+ const existing = timestamps.get(blockNumber);
260
+ if (existing)
261
+ return existing;
262
+ const pending = client
263
+ .getBlock({ blockNumber: BigInt(blockNumber), includeTransactions: false })
264
+ .then((block) => Value.blockToIso(block));
265
+ timestamps.set(blockNumber, pending);
266
+ return pending;
267
+ };
268
+ const filters_source = cohort.states[0].state.filters;
269
+ // RPC pushdowns bound selective responses; only the unfiltered firehose needs small range chunks.
270
+ const chunkBlocks = Object.values(filters_source).some(Boolean)
271
+ ? cohort.window.to - cohort.window.from + 1
272
+ : scanChunkBlocks;
273
+ for (let from = cohort.window.from; from <= cohort.window.to; from += chunkBlocks) {
274
+ const to = Math.min(cohort.window.to, from + chunkBlocks - 1);
275
+ const logs = (await getLogs(client, filters_source, { from, to })).sort(byPosition);
276
+ for (const log of logs) {
277
+ const blockNumber = Value.hexToNumber(log.blockNumber);
278
+ const logIndex = Value.hexToNumber(log.logIndex);
279
+ if (blockNumber === undefined || logIndex === undefined)
280
+ continue;
281
+ const blockTimestamp = await timestamp(blockNumber);
282
+ if (blockTimestamp === undefined)
283
+ continue;
284
+ const data = decode(log, blockTimestamp);
285
+ if (!data)
286
+ continue;
287
+ for (const accumulator of accumulators) {
288
+ if (!canMatch(accumulator, blockNumber, logIndex))
289
+ continue;
290
+ if (matches(data, accumulator.state.filters))
291
+ addMatch(accumulator, { cursor: [blockNumber, logIndex], data });
292
+ }
293
+ if (accumulators.every((accumulator) => accumulator.full))
294
+ return finish(accumulators);
295
+ }
296
+ }
297
+ return finish(accumulators);
298
+ }
299
+ //# sourceMappingURL=WebhookTransfer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WebhookTransfer.js","sourceRoot":"","sources":["../../src/internal/WebhookTransfer.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type * as app_Webhooks from '../apps/data/routes/webhooks.js';
2
2
  import type * as Db from '../db/Db.js';
3
+ import * as WebhookQueueEvents from '../db/tables/webhookQueueEvents.js';
3
4
  import * as WebhookSubscriptions from '../db/tables/webhookSubscriptions.js';
4
5
  import type * as Metrics from '../Metrics.js';
5
6
  import * as MetricSink from './MetricSink.js';
@@ -198,6 +199,29 @@ export declare function deleteSubscription(db: Db.Db, owner: Owner, id: string):
198
199
  * secondary key space).
199
200
  */
200
201
  export declare function listActive(db: Db.Db, chainId: number, eventType: EventType): Promise<Subscription[]>;
202
+ /**
203
+ * Lists a stream's live active subscriptions paired with their poller cursors,
204
+ * from one query. The poller's per-tick lookup.
205
+ */
206
+ export declare function listActiveWithCursors(db: Db.Db, chainId: number, eventType: EventType): Promise<{
207
+ cursor: string | null;
208
+ subscription: Subscription;
209
+ }[]>;
210
+ /** Reads every live active subscription on a chain in one poller query. */
211
+ export declare function listActiveForChain(db: Db.Db, options: listActiveForChain.Options): Promise<{
212
+ cursor: string | null;
213
+ subscription: Subscription;
214
+ }[]>;
215
+ export declare namespace listActiveForChain {
216
+ /** Filters for the poller's chain-level subscription read. */
217
+ type Options = Pick<WebhookSubscriptions.listActiveForChain.Options, 'chainId' | 'eventTypes'>;
218
+ }
219
+ /**
220
+ * Reads the freshest cursor block across a chain's active subscriptions, or
221
+ * null when none carry a cursor. Creation checkpoints count at their recorded
222
+ * head, so a brand-new subscription reads as fresh.
223
+ */
224
+ export declare function maxCursorBlock(db: Db.Db, chainId: number): Promise<number | null>;
201
225
  /** Reads a subscription's keyset cursor. Returns null when unset. */
202
226
  export declare function getCursor(db: Db.Db, subscriptionId: string): Promise<string | null>;
203
227
  /** Writes a cursor only when its stored value matches the expected cursor. */
@@ -206,6 +230,12 @@ export declare namespace compareAndSetCursor {
206
230
  /** Options for {@link compareAndSetCursor}. */
207
231
  type Options = WebhookSubscriptions.compareAndSetCursor.Options;
208
232
  }
233
+ /** Writes cursors whose stored values match their expected cursors. */
234
+ export declare function compareAndSetCursors(db: Db.Db, options: compareAndSetCursors.Options): Promise<Set<string>>;
235
+ export declare namespace compareAndSetCursors {
236
+ /** Options for {@link compareAndSetCursors}. */
237
+ type Options = WebhookSubscriptions.compareAndSetCursors.Options;
238
+ }
209
239
  /** Writes a subscription's keyset cursor. */
210
240
  export declare function setCursor(db: Db.Db, subscriptionId: string, cursor: string): Promise<void>;
211
241
  /**
@@ -226,6 +256,138 @@ export declare namespace pruneExpired {
226
256
  * subscription's log doesn't grow unbounded; tune per deployment.
227
257
  */
228
258
  export declare const deliveryRetentionMs: number;
259
+ /** A compact Cloudflare Queue message referencing a durable staged envelope. */
260
+ export type QueueReference = {
261
+ /** Idempotent event id of the staged envelope. */
262
+ eventId: string;
263
+ /** Subscription that owns the staged envelope. */
264
+ subscriptionId: string;
265
+ };
266
+ /** A full envelope staged outside Cloudflare Queues. */
267
+ export type QueueEvent = QueueReference & {
268
+ /** ISO timestamp when the envelope was staged. */
269
+ createdAt: string;
270
+ /** Full envelope loaded by the Queue consumer. */
271
+ envelope: Envelope;
272
+ /** ISO timestamp after which an unconsumed envelope may be pruned. */
273
+ expiresAt: string;
274
+ };
275
+ /** A claim newer than this counts as an in-flight attempt; above the 10s destination timeout default. */
276
+ export declare const deliveryAttemptStaleMs = 60000;
277
+ /**
278
+ * Retry backoff by attempt count: 5s, 25s, ~2m, ~10m, ~52m, then hourly.
279
+ * Endpoint outages retry on this schedule until delivery or auto-disable.
280
+ */
281
+ export declare function retryDelayMs(attemptCount: number): number;
282
+ /**
283
+ * Stages full envelopes as delivery obligations and returns compact
284
+ * references safe for Queue admission. Existing rows are left untouched, so
285
+ * the first staged envelope wins and terminal outcomes never resurrect.
286
+ */
287
+ export declare function ensureQueueEvents(db: Db.Db, dispatchables: readonly ensureQueueEvents.Dispatchable[], options?: ensureQueueEvents.Options): Promise<ensureQueueEvents.Result>;
288
+ export declare namespace ensureQueueEvents {
289
+ /** One full envelope and the subscription that produced it. */
290
+ type Dispatchable = {
291
+ /** Webhook envelope. */
292
+ envelope: Envelope;
293
+ /** Subscription that owns the envelope. */
294
+ subscription: Subscription;
295
+ };
296
+ /** Staged-envelope retention options. */
297
+ type Options = {
298
+ /** Clock used for staging timestamps. */
299
+ now?: (() => Date) | undefined;
300
+ /** Staged-envelope TTL in ms; defaults to {@link deliveryRetentionMs}. */
301
+ ttl?: number | undefined;
302
+ };
303
+ /** Created-row count plus references for every requested obligation. */
304
+ type Result = {
305
+ /** Newly staged obligations. */
306
+ created: number;
307
+ /** Compact references for all inputs, including pre-existing rows. */
308
+ references: QueueReference[];
309
+ };
310
+ }
311
+ /** Claims one due pending obligation; misses classify why the claim is unavailable. */
312
+ export declare function claimQueueEvent(db: Db.Db, reference: QueueReference): Promise<WebhookQueueEvents.claim.Result>;
313
+ /**
314
+ * Marks a claimed obligation terminal and restarts its retention window, so
315
+ * the dedupe row outlives replays. Fenced by the claim marker: a stale
316
+ * claimant's completion returns false instead of clobbering a newer claim.
317
+ */
318
+ export declare function completeQueueEvent(db: Db.Db, reference: QueueReference, options: completeQueueEvent.Options): Promise<boolean>;
319
+ export declare namespace completeQueueEvent {
320
+ /** Fenced terminal transition. */
321
+ type Options = {
322
+ /** Claim marker from the claimed record's `attemptingAt`. */
323
+ claimedAt: string;
324
+ /** Terminal obligation outcome. */
325
+ status: WebhookQueueEvents.TerminalStatus;
326
+ };
327
+ }
328
+ /**
329
+ * Releases a claim and schedules the next attempt on the retry backoff.
330
+ * Fenced by the claim marker like {@link completeQueueEvent}.
331
+ */
332
+ export declare function scheduleQueueEventRetry(db: Db.Db, reference: QueueReference, options: scheduleQueueEventRetry.Options): Promise<boolean>;
333
+ export declare namespace scheduleQueueEventRetry {
334
+ /** Fenced retry scheduling. */
335
+ type Options = {
336
+ /** Attempts claimed so far; drives the backoff position. */
337
+ attemptCount: number;
338
+ /** Claim marker from the claimed record's `attemptingAt`. */
339
+ claimedAt: string;
340
+ };
341
+ }
342
+ /** Lists due pending references for the sweeper, oldest first. */
343
+ export declare function dueQueueEvents(db: Db.Db, limit: number): Promise<QueueReference[]>;
344
+ /** Returns the authoritative pending-obligation snapshot. */
345
+ export declare function pendingQueueEvents(db: Db.Db): Promise<WebhookQueueEvents.pending.Result>;
346
+ /** Reads a full staged envelope for a compact Queue reference. */
347
+ export declare function getQueueEvent(db: Db.Db, reference: QueueReference): Promise<QueueEvent | null>;
348
+ /** Loads a staged envelope and delivers it with the subscription's current configuration. */
349
+ export declare function deliverQueueEventAndRecord(db: Db.Db, reference: QueueReference, options?: deliverAndRecord.Options): Promise<deliverQueueEventAndRecord.Result>;
350
+ /**
351
+ * Delivers an already-loaded obligation envelope with the subscription's
352
+ * current configuration, skipping the staged-row read a claim already paid.
353
+ */
354
+ export declare function deliverClaimedAndRecord(db: Db.Db, claimed: deliverClaimedAndRecord.Claimed, options?: deliverClaimedAndRecord.Options): Promise<deliverClaimedAndRecord.Result>;
355
+ export declare namespace deliverClaimedAndRecord {
356
+ /** Envelope and owning subscription id from a claimed obligation. */
357
+ type Claimed = {
358
+ /** Immutable event envelope to deliver. */
359
+ envelope: Envelope;
360
+ /** Subscription re-resolved for current status and secret. */
361
+ subscriptionId: string;
362
+ };
363
+ /** Delivery options plus the dequeue timestamp of the claiming path. */
364
+ type Options = deliverAndRecord.Options & {
365
+ /** Epoch ms the claiming message was dequeued; defaults to now. */
366
+ dequeuedAt?: number | undefined;
367
+ };
368
+ /** A delivered event or an inactive subscription. */
369
+ type Result = {
370
+ /** Transport result from the current subscription state. */
371
+ result: WebhookDestination.Result;
372
+ /** The envelope was delivered. */
373
+ status: 'delivered';
374
+ } | {
375
+ /** The current subscription is inactive or deleted. */
376
+ status: 'skipped';
377
+ };
378
+ }
379
+ export declare namespace deliverQueueEventAndRecord {
380
+ /** A delivered event, inactive subscription, or stale duplicate reference. */
381
+ type Result = {
382
+ /** Transport result from the current subscription state. */
383
+ result: WebhookDestination.Result;
384
+ /** The staged event was delivered. */
385
+ status: 'delivered';
386
+ } | {
387
+ /** The staged event or current subscription was not deliverable. */
388
+ status: 'missing' | 'skipped';
389
+ };
390
+ }
229
391
  /** Records one delivery-log row (stateful, owner-agnostic; scoped per subscription). */
230
392
  export declare function recordDelivery(db: Db.Db, delivery: Delivery, options?: recordDelivery.Options): Promise<void>;
231
393
  export declare namespace recordDelivery {
@@ -303,8 +465,16 @@ export declare function deliverAndRecord(db: Db.Db, subscription: Subscription,
303
465
  export declare namespace deliverAndRecord {
304
466
  /** Options for {@link deliverAndRecord}. */
305
467
  type Options = {
468
+ /**
469
+ * Delivery-log attempt number; the ledger claim count on the queue path.
470
+ * Defaults to the subscription failure counter, which concurrent
471
+ * deliveries can read stale.
472
+ */
473
+ attempt?: number | undefined;
306
474
  /** Delivery-log row TTL in ms; defaults to {@link deliveryRetentionMs}. */
307
475
  deliveryRetentionMs?: number | undefined;
476
+ /** Queue dequeue time as epoch milliseconds, captured before subscription lookup. */
477
+ dequeuedAt?: number | undefined;
308
478
  /** `fetch` implementation passed through to {@link deliver}. */
309
479
  fetch?: typeof globalThis.fetch | undefined;
310
480
  /** Consecutive failures before auto-disabling (default {@link maxFailures}). */
@@ -313,6 +483,12 @@ export declare namespace deliverAndRecord {
313
483
  metrics?: Metrics.Metrics | undefined;
314
484
  /** Clock used for timestamps; injectable for tests. */
315
485
  now?: (() => Date) | undefined;
486
+ /** Cloudflare Queue delivery attempt, starting at one; absent for inline delivery paths. */
487
+ queueAttempt?: number | undefined;
488
+ /** Queue enqueue time as epoch milliseconds, used to isolate queue wait. */
489
+ queuedAt?: number | undefined;
490
+ /** Authoritative subscription lookup duration, supplied by the queue path. */
491
+ subscriptionReadMs?: number | undefined;
316
492
  /** Delivery timeout in ms passed through to {@link deliver}. */
317
493
  timeoutMs?: number | undefined;
318
494
  /** Where this attempt originated; tags the `webhook:delivery` event (default `queue`). */
@@ -1 +1 @@
1
- {"version":3,"file":"Webhooks.d.ts","sourceRoot":"","sources":["../../src/internal/Webhooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,YAAY,MAAM,iCAAiC,CAAA;AACpE,OAAO,KAAK,KAAK,EAAE,MAAM,aAAa,CAAA;AAEtC,OAAO,KAAK,oBAAoB,MAAM,sCAAsC,CAAA;AAC5E,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAA;AAG7C,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAA;AAC7C,OAAO,KAAK,kBAAkB,MAAM,yBAAyB,CAAA;AAQ7D,YAAY,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAExF;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,YAAY,CAAC,SAAS,CAAA;AAE9C,0CAA0C;AAC1C,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAA;AAErD;;;GAGG;AACH,MAAM,MAAM,KAAK,GACb;IACE,wEAAwE;IACxE,KAAK,EAAE,MAAM,CAAA;IACb,kBAAkB;IAClB,IAAI,EAAE,SAAS,CAAA;CAChB,GACD;IACE,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAA;IACb,kBAAkB;IAClB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAEL;;;;GAIG;AACH,MAAM,MAAM,OAAO,GAAG;IACpB,wDAAwD;IACxD,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAChC,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,CAAA;IAC7C,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC3B,CAAA;AAED,6CAA6C;AAC7C,MAAM,MAAM,YAAY,GAAG;IACzB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,iCAAiC;IACjC,SAAS,EAAE,MAAM,CAAA;IACjB,iEAAiE;IACjE,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAA;IAC3C,8CAA8C;IAC9C,SAAS,EAAE,SAAS,CAAA;IACpB,2EAA2E;IAC3E,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC9B,0DAA0D;IAC1D,YAAY,EAAE,MAAM,CAAA;IACpB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,gCAAgC;IAChC,EAAE,EAAE,MAAM,CAAA;IACV,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,2BAA2B;IAC3B,KAAK,EAAE,KAAK,CAAA;IACZ,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAA;IACd,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,oDAAoD;AACpD,MAAM,MAAM,WAAW,GAAG;IACxB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,sEAAsE;IACtE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,iFAAiF;IACjF,WAAW,EAAE,kBAAkB,CAAC,WAAW,CAAA;IAC3C,+BAA+B;IAC/B,SAAS,EAAE,SAAS,CAAA;IACpB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC7C,gDAAgD;IAChD,KAAK,EAAE,KAAK,CAAA;IACZ,8EAA8E;IAC9E,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACzB,CAAA;AAED,4DAA4D;AAC5D,MAAM,MAAM,UAAU,GAAG;IACvB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAA;IACpC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,kBAAkB,CAAC,WAAW,GAAG,SAAS,CAAA;IACxD,6BAA6B;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAA;IAC7C,2DAA2D;IAC3D,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B,CAAA;AAED,4CAA4C;AAC5C,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAA;AAE/D;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG;IACrB,yEAAyE;IACzE,OAAO,EAAE,MAAM,CAAA;IACf,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAA;IACjB;;;OAGG;IACH,QAAQ,EAAE,QAAQ,CAAA;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC1B,2DAA2D;IAC3D,OAAO,EAAE,MAAM,CAAA;IACf,0EAA0E;IAC1E,EAAE,EAAE,MAAM,CAAA;IACV,oDAAoD;IACpD,UAAU,EAAE,MAAM,CAAA;IAClB,yEAAyE;IACzE,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACnC,sBAAsB;IACtB,MAAM,EAAE,cAAc,CAAA;IACtB,8BAA8B;IAC9B,cAAc,EAAE,MAAM,CAAA;CACvB,CAAA;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,WAAW,EAClB,OAAO,GAAE,kBAAkB,CAAC,OAAY,GACvC,OAAO,CAAC,YAAY,CAAC,CA+CvB;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,8CAA8C;IAC9C,KAAK,OAAO,GAAG;QACb,uEAAuE;QACvE,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,wDAAwD;QACxD,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;QAC9B,+EAA+E;QAC/E,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACtC,CAAA;CACF;AAED,iFAAiF;AACjF,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAE9B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,KAAK,EACZ,OAAO,GAAE,iBAAiB,CAAC,OAAY,GACtC,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzB;AAED,MAAM,CAAC,OAAO,WAAW,iBAAiB,CAAC;IACzC,6CAA6C;IAC7C,KAAK,OAAO,GAAG;QACb,6EAA6E;QAC7E,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,uCAAuC;QACvC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,mFAAmF;QACnF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5B,CAAA;CACF;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAEjF;AAED;;;;GAIG;AACH,wBAAsB,kBAAkB,CACtC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,KAAK,EAAE,KAAK,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,UAAU,EACjB,OAAO,GAAE,kBAAkB,CAAC,OAAY,GACvC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAkB9B;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,8CAA8C;IAC9C,KAAK,OAAO,GAAG;QACb,wDAAwD;QACxD,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF;AAED,6EAA6E;AAC7E,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE9F;AAED;;;;GAIG;AACH,wBAAsB,UAAU,CAC9B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,SAAS,GACnB,OAAO,CAAC,YAAY,EAAE,CAAC,CAEzB;AAED,qEAAqE;AACrE,wBAAsB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAEzF;AAED,8EAA8E;AAC9E,wBAAsB,mBAAmB,CACvC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,OAAO,EAAE,mBAAmB,CAAC,OAAO,GACnC,OAAO,CAAC,OAAO,CAAC,CAElB;AAED,MAAM,CAAC,OAAO,WAAW,mBAAmB,CAAC;IAC3C,+CAA+C;IAC/C,KAAK,OAAO,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,OAAO,CAAA;CAChE;AAED,6CAA6C;AAC7C,wBAAsB,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEhG;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,OAAO,GAAE,YAAY,CAAC,OAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAI/F;AAED,MAAM,CAAC,OAAO,WAAW,YAAY,CAAC;IACpC,wCAAwC;IACxC,KAAK,OAAO,GAAG;QACb,8DAA8D;QAC9D,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAA2B,CAAA;AAE3D,wFAAwF;AACxF,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,cAAc,CAAC,OAAY,GACnC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,0CAA0C;IAC1C,KAAK,OAAO,GAAG;QACb,uEAAuE;QACvE,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KACzB,CAAA;CACF;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAClC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,MAAM,EACtB,OAAO,GAAE,cAAc,CAAC,OAAY,GACnC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAErB;AAED,MAAM,CAAC,OAAO,WAAW,cAAc,CAAC;IACtC,0CAA0C;IAC1C,KAAK,OAAO,GAAG;QACb,wEAAwE;QACxE,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC3B,oCAAoC;QACpC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,mFAAmF;QACnF,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC5B,CAAA;CACF;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAExF;AAED,wFAAwF;AACxF,wBAAsB,WAAW,CAC/B,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAE1B;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW,KAAK,CAAA;AAE7B;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,aAAa,CAAC,OAAY,GAClC,OAAO,CAAC,YAAY,CAAC,CAOvB;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,yCAAyC;IACzC,KAAK,OAAO,GAAG;QACb,uDAAuD;QACvD,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CACjC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,aAAa,CAAC,OAAY,GAClC,OAAO,CAAC,YAAY,CAAC,CAevB;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,yCAAyC;IACzC,KAAK,OAAO,GAAG;QACb,gFAAgF;QAChF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,uDAAuD;QACvD,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;KAC/B,CAAA;CACF;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,gBAAgB,CAAC,OAAY,GACrC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAyCpC;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,4CAA4C;IAC5C,KAAK,OAAO,GAAG;QACb,2EAA2E;QAC3E,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxC,gEAAgE;QAChE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAA;QAC3C,gFAAgF;QAChF,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAChC,uEAAuE;QACvE,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,GAAG,SAAS,CAAA;QACrC,uDAAuD;QACvD,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;QAC9B,gEAAgE;QAChE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC9B,0FAA0F;QAC1F,OAAO,CAAC,EAAE,UAAU,CAAC,OAAO,GAAG,SAAS,CAAA;KACzC,CAAA;CACF;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,MAAM,EAAE,YAAY,EACpB,QAAQ,EAAE,QAAQ,EAClB,OAAO,GAAE,gBAAgB,CAAC,OAAY,GACrC,OAAO,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAOzC;AAED,MAAM,CAAC,OAAO,WAAW,uBAAuB,CAAC;IAC/C,wEAAwE;IACxE,KAAK,MAAM,GACP;QACE,4DAA4D;QAC5D,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAA;QACjC,8CAA8C;QAC9C,MAAM,EAAE,WAAW,CAAA;KACpB,GACD;QACE,qDAAqD;QACrD,MAAM,EAAE,SAAS,CAAA;KAClB,CAAA;CACN;AA6BD;;;GAGG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,GAAG,MAAM,CAGxD;AAED,MAAM,CAAC,OAAO,WAAW,OAAO,CAAC;IAC/B,mCAAmC;IACnC,KAAK,OAAO,GAAG;QACb,6CAA6C;QAC7C,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;QACrC,mCAAmC;QACnC,OAAO,EAAE,MAAM,CAAA;QACf,kBAAkB;QAClB,SAAS,EAAE,SAAS,CAAA;QACpB,gFAAgF;QAChF,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;KACnC,CAAA;CACF;AAED,kDAAkD;AAClD,MAAM,MAAM,QAAQ,GAAG;IACrB,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,4DAA4D;IAC5D,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAA;IACjB,kEAAkE;IAClE,IAAI,EAAE,OAAO,CAAA;IACb,6CAA6C;IAC7C,EAAE,EAAE,MAAM,CAAA;IACV,mCAAmC;IACnC,cAAc,EAAE,MAAM,CAAA;IACtB,0FAA0F;IAC1F,IAAI,EAAE,SAAS,GAAG,MAAM,CAAA;CACzB,CAAA;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,GAAG,QAAQ,CAgBtE;AAED,MAAM,CAAC,OAAO,WAAW,aAAa,CAAC;IACrC,yCAAyC;IACzC,KAAK,OAAO,GAAG;QACb,6CAA6C;QAC7C,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;QACrC,2DAA2D;QAC3D,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;QAC5B,gEAAgE;QAChE,IAAI,EAAE,OAAO,CAAA;QACb,kCAAkC;QAClC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;QAClC,sCAAsC;QACtC,YAAY,EAAE,YAAY,CAAA;KAC3B,CAAA;CACF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,iBAAiB,CAAC,OAAY,GACtC,QAAQ,CAYV;AAED,MAAM,CAAC,OAAO,WAAW,iBAAiB,CAAC;IACzC,6CAA6C;IAC7C,KAAK,OAAO,GAAG;QACb,2DAA2D;QAC3D,SAAS,CAAC,EAAE,IAAI,GAAG,SAAS,CAAA;QAC5B,6EAA6E;QAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC3B,CAAA;CACF;AAED;;;;;;;GAOG;AACH,wBAAsB,IAAI,CACxB,EAAE,EAAE,EAAE,CAAC,EAAE,EACT,YAAY,EAAE,YAAY,EAC1B,OAAO,GAAE,IAAI,CAAC,OAAY,GACzB,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CA0BtB;AAED,MAAM,CAAC,OAAO,WAAW,IAAI,CAAC;IAC5B,gCAAgC;IAChC,KAAK,OAAO,GAAG;QACb,2EAA2E;QAC3E,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QACxC,gEAAgE;QAChE,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,GAAG,SAAS,CAAA;QAC3C,qEAAqE;QACrE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;QAC1B,uDAAuD;QACvD,GAAG,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAA;QAC9B,gEAAgE;QAChE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAC/B,CAAA;IACD,6EAA6E;IAC7E,KAAK,MAAM,GAAG;QACZ,8CAA8C;QAC9C,QAAQ,EAAE,QAAQ,CAAA;QAClB,4CAA4C;QAC5C,QAAQ,EAAE,QAAQ,CAAA;QAClB,uCAAuC;QACvC,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAA;KAClC,CAAA;CACF;AAcD,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,gCAAgC;IAChC,KAAK,EAAE,MAAM,CAAA;IAEb,YAAY,KAAK,EAAE,MAAM,EAIxB;CACF;AAED,qFAAqF;AACrF,qBAAa,iCAAkC,SAAQ,KAAK;IAC1D,cAGC;CACF;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,KAAK;IAC3C,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,OAAO,EAAE,SAAS,kBAAkB,CAAC,MAAM,EAAE,CAAA;IAE7C,YAAY,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,SAAS,kBAAkB,CAAC,MAAM,EAAO,EAKhF;CACF;AAED,MAAM,CAAC,OAAO,WAAW,kBAAkB,CAAC;IAC1C,+EAA+E;IAC/E,KAAK,MAAM,GAAG;QACZ,yCAAyC;QACzC,OAAO,EAAE,MAAM,CAAA;QACf,6DAA6D;QAC7D,IAAI,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,SAAS,CAAA;KAChD,CAAA;CACF;AAED,2EAA2E;AAC3E,qBAAa,iBAAkB,SAAQ,KAAK;IAC1C,cAGC;CACF"}
1
+ {"version":3,"file":"Webhooks.d.ts","sourceRoot":"","sources":["../../src/internal/Webhooks.ts"],"names":[],"mappings":"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"}