tapimo 0.10.0 → 0.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ApiKey.d.ts +2 -1
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKeys.d.ts +4 -2
- package/dist/ApiKeys.d.ts.map +1 -1
- package/dist/ApiKeys.js +26 -1
- package/dist/ApiKeys.js.map +1 -1
- package/dist/App.d.ts +6007 -5003
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +1 -0
- package/dist/App.js.map +1 -1
- package/dist/Webhooks.d.ts +1 -1
- package/dist/Webhooks.d.ts.map +1 -1
- package/dist/Webhooks.js +6 -6
- package/dist/Webhooks.js.map +1 -1
- package/dist/admin/App.d.ts +91 -84
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +22 -13
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +6 -0
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts +4 -2
- package/dist/admin/apps/organizations.d.ts.map +1 -1
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.js +69 -69
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/analytics/Analytics.d.ts.map +1 -1
- package/dist/analytics/Analytics.js +232 -0
- package/dist/analytics/Analytics.js.map +1 -1
- package/dist/analytics/tables/requestEvents.d.ts +4 -0
- package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
- package/dist/analytics/tables/requestEvents.js +2 -0
- package/dist/analytics/tables/requestEvents.js.map +1 -1
- package/dist/apps/Zones.d.ts +4266 -82
- package/dist/apps/Zones.d.ts.map +1 -1
- package/dist/apps/Zones.js +27 -8
- package/dist/apps/Zones.js.map +1 -1
- package/dist/apps/data/App.d.ts +3467 -2696
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +2 -0
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +2999 -100
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +340 -2
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +514 -0
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.d.ts +26 -26
- package/dist/apps/data/routes/balances.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.js +7 -3
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +4 -4
- package/dist/apps/data/routes/earn.d.ts +75 -75
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +65 -36
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts +124 -120
- package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
- package/dist/apps/data/routes/exchanges.js +115 -77
- package/dist/apps/data/routes/exchanges.js.map +1 -1
- package/dist/apps/data/routes/fee-amm.d.ts +24 -24
- package/dist/apps/data/routes/indexer.d.ts +2 -1
- package/dist/apps/data/routes/indexer.d.ts.map +1 -1
- package/dist/apps/data/routes/indexer.js +3 -2
- package/dist/apps/data/routes/indexer.js.map +1 -1
- package/dist/apps/data/routes/receipts.d.ts +4 -3
- package/dist/apps/data/routes/receipts.d.ts.map +1 -1
- package/dist/apps/data/routes/receipts.js +15 -14
- package/dist/apps/data/routes/receipts.js.map +1 -1
- package/dist/apps/data/routes/rpc.d.ts.map +1 -1
- package/dist/apps/data/routes/rpc.js +5 -1
- package/dist/apps/data/routes/rpc.js.map +1 -1
- package/dist/apps/data/routes/tokenlist.d.ts +12 -12
- package/dist/apps/data/routes/tokens.d.ts +1 -1
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/tokens.js +4 -3
- package/dist/apps/data/routes/tokens.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts.map +1 -1
- package/dist/apps/data/routes/transfers.js +25 -7
- package/dist/apps/data/routes/transfers.js.map +1 -1
- package/dist/apps/data/routes/verified-tokens.d.ts +37 -37
- package/dist/apps/data/routes/webhooks.d.ts +71 -1
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +177 -23
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.js +1 -1
- package/dist/apps/data/routes/zones.js.map +1 -1
- package/dist/apps/funding/App.d.ts +322 -89
- package/dist/apps/funding/App.d.ts.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.d.ts +375 -45
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.js +208 -12
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
- package/dist/apps/funding/routes/transfers.d.ts +32 -32
- package/dist/apps/funding/routes/transfers.js +1 -1
- package/dist/apps/funding/routes/transfers.js.map +1 -1
- package/dist/apps/management/App.d.ts +418 -418
- package/dist/apps/management/routes/api-keys.d.ts +50 -50
- package/dist/apps/management/routes/billing.d.ts +72 -72
- package/dist/apps/management/routes/billing.js +1 -1
- package/dist/apps/management/routes/billing.js.map +1 -1
- package/dist/apps/management/routes/faucet.d.ts +8 -8
- package/dist/apps/management/routes/faucet.js +2 -2
- package/dist/apps/management/routes/faucet.js.map +1 -1
- package/dist/apps/management/routes/invite-links.d.ts +42 -42
- package/dist/apps/management/routes/me.d.ts +6 -6
- package/dist/apps/management/routes/members.d.ts +14 -14
- package/dist/apps/management/routes/projects.d.ts +40 -40
- package/dist/apps/management/routes/usage.d.ts +8 -8
- package/dist/apps/management/routes/webhooks.d.ts +49 -49
- package/dist/apps/mcp.d.ts.map +1 -1
- package/dist/apps/mcp.js +4 -1
- package/dist/apps/mcp.js.map +1 -1
- package/dist/db/Db.d.ts +2 -0
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +90 -0
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +19 -0
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +24 -0
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/fundingDepositAddresses.d.ts +20 -0
- package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -1
- package/dist/db/tables/fundingDepositAddresses.js +17 -0
- package/dist/db/tables/fundingDepositAddresses.js.map +1 -1
- package/dist/db/tables/fundingDeposits.d.ts +41 -0
- package/dist/db/tables/fundingDeposits.d.ts.map +1 -1
- package/dist/db/tables/fundingDeposits.js +69 -0
- package/dist/db/tables/fundingDeposits.js.map +1 -1
- package/dist/db/tables/webhookQueueEvents.d.ts +122 -0
- package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -0
- package/dist/db/tables/webhookQueueEvents.js +160 -0
- package/dist/db/tables/webhookQueueEvents.js.map +1 -0
- package/dist/db/tables/webhookSubscriptions.d.ts +2 -0
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +10 -0
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/internal/Auth.d.ts +3 -26
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +6 -37
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/Credential.d.ts +27 -0
- package/dist/internal/Credential.d.ts.map +1 -0
- package/dist/internal/Credential.js +34 -0
- package/dist/internal/Credential.js.map +1 -0
- package/dist/internal/EarnRates.js +11 -7
- package/dist/internal/EarnRates.js.map +1 -1
- package/dist/internal/Log.d.ts +8 -0
- package/dist/internal/Log.d.ts.map +1 -1
- package/dist/internal/Log.js +4 -0
- package/dist/internal/Log.js.map +1 -1
- package/dist/internal/MetricSink.d.ts +51 -0
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +54 -2
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/RateLimit.d.ts +4 -6
- package/dist/internal/RateLimit.d.ts.map +1 -1
- package/dist/internal/RateLimit.js +15 -14
- package/dist/internal/RateLimit.js.map +1 -1
- package/dist/internal/Store.d.ts +2 -1
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +57 -18
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/Tidx.d.ts +4 -3
- package/dist/internal/Tidx.d.ts.map +1 -1
- package/dist/internal/Tidx.js +2 -2
- package/dist/internal/Tidx.js.map +1 -1
- package/dist/internal/Value.d.ts +2 -0
- package/dist/internal/Value.d.ts.map +1 -1
- package/dist/internal/Value.js +25 -0
- package/dist/internal/Value.js.map +1 -1
- package/dist/internal/Viem.d.ts +4 -3
- package/dist/internal/Viem.d.ts.map +1 -1
- package/dist/internal/Viem.js +3 -2
- package/dist/internal/Viem.js.map +1 -1
- package/dist/internal/WebhookTransfer.d.ts +20 -0
- package/dist/internal/WebhookTransfer.d.ts.map +1 -1
- package/dist/internal/WebhookTransfer.js +7 -4
- package/dist/internal/WebhookTransfer.js.map +1 -1
- package/dist/internal/Webhooks.d.ts +141 -0
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +139 -10
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/funding/providers/relay.d.ts +3 -4
- package/dist/internal/funding/providers/relay.d.ts.map +1 -1
- package/dist/internal/funding/providers/relay.js +59 -8
- package/dist/internal/funding/providers/relay.js.map +1 -1
- package/dist/internal/index.d.ts +1 -0
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +1 -0
- package/dist/internal/index.js.map +1 -1
- package/package.json +3 -3
- package/src/ApiKeys.test.ts +20 -0
- package/src/ApiKeys.ts +28 -1
- package/src/App.test.ts +40 -8
- package/src/App.ts +1 -0
- package/src/Client.test-d.ts +34 -1
- package/src/Webhooks.ts +20 -18
- package/src/admin/apps/api-keys.test.ts +9 -0
- package/src/admin/apps/api-keys.ts +15 -0
- package/src/admin/ui/src/lib/query-client.ts +3 -2
- package/src/admin/ui/src/routes/api-keys.tsx +31 -9
- package/src/admin/ui.generated.ts +69 -69
- package/src/analytics/Analytics.test.ts +42 -0
- package/src/analytics/Analytics.ts +232 -0
- package/src/analytics/tables/requestEvents.ts +6 -0
- package/src/apps/Zones.test.ts +20 -3
- package/src/apps/Zones.ts +28 -8
- package/src/apps/composition.test.ts +2 -0
- package/src/apps/data/App.test.ts +2 -2
- package/src/apps/data/App.ts +2 -0
- package/src/apps/data/routes/activities.bench.ts +41 -0
- package/src/apps/data/routes/activities.test.ts +103 -2
- package/src/apps/data/routes/activities.ts +401 -2
- package/src/apps/data/routes/balances.bench.ts +21 -0
- package/src/apps/data/routes/balances.ts +7 -3
- package/src/apps/data/routes/blocks.bench.ts +34 -0
- package/src/apps/data/routes/coingecko.bench.ts +53 -0
- package/src/apps/data/routes/earn.bench.ts +71 -0
- package/src/apps/data/routes/earn.ts +66 -36
- package/src/apps/data/routes/exchanges.bench.ts +85 -0
- package/src/apps/data/routes/exchanges.test.ts +8 -3
- package/src/apps/data/routes/exchanges.ts +134 -82
- package/src/apps/data/routes/fee-amm.bench.ts +13 -0
- package/src/apps/data/routes/indexer.bench.ts +8 -0
- package/src/apps/data/routes/indexer.test.ts +2 -1
- package/src/apps/data/routes/indexer.ts +3 -2
- package/src/apps/data/routes/receipts.bench.ts +39 -0
- package/src/apps/data/routes/receipts.ts +16 -14
- package/src/apps/data/routes/rpc.bench.ts +14 -0
- package/src/apps/data/routes/rpc.test.ts +27 -0
- package/src/apps/data/routes/rpc.ts +5 -1
- package/src/apps/data/routes/tokenlist.bench.ts +3 -0
- package/src/apps/data/routes/tokens.bench.ts +76 -0
- package/src/apps/data/routes/tokens.ts +3 -2
- package/src/apps/data/routes/transactions.bench.ts +48 -0
- package/src/apps/data/routes/transfers.bench.ts +28 -0
- package/src/apps/data/routes/transfers.ts +36 -10
- package/src/apps/data/routes/valuation.bench.ts +14 -0
- package/src/apps/data/routes/verified-tokens.bench.ts +8 -0
- package/src/apps/data/routes/webhooks.bench.ts +26 -0
- package/src/apps/data/routes/webhooks.scan.test.ts +326 -0
- package/src/apps/data/routes/webhooks.test.ts +53 -6
- package/src/apps/data/routes/webhooks.ts +252 -24
- package/src/apps/data/routes/zones.bench.ts +32 -0
- package/src/apps/data/routes/zones.test.ts +1 -1
- package/src/apps/data/routes/zones.ts +1 -1
- package/src/apps/funding/routes/chains.test.ts +1 -1
- package/src/apps/funding/routes/deposit-addresses.test.ts +217 -3
- package/src/apps/funding/routes/deposit-addresses.ts +255 -19
- package/src/apps/funding/routes/providers.test.ts +1 -1
- package/src/apps/funding/routes/quotes.test.ts +1 -1
- package/src/apps/funding/routes/transfers.test.ts +20 -8
- package/src/apps/funding/routes/transfers.ts +1 -1
- package/src/apps/management/routes/billing.ts +1 -1
- package/src/apps/management/routes/faucet.ts +2 -2
- package/src/apps/management/routes/me.test.ts +31 -0
- package/src/apps/mcp.ts +4 -1
- package/src/db/Db.ts +117 -0
- package/src/db/Schema.ts +32 -0
- package/src/db/tables/fundingDepositAddresses.test.ts +28 -0
- package/src/db/tables/fundingDepositAddresses.ts +39 -0
- package/src/db/tables/fundingDeposits.test.ts +82 -0
- package/src/db/tables/fundingDeposits.ts +130 -0
- package/src/db/tables/webhookQueueEvents.ts +285 -0
- package/src/db/tables/webhookSubscriptions.ts +15 -0
- package/src/internal/Auth.test.ts +61 -98
- package/src/internal/Auth.ts +9 -63
- package/src/internal/Credential.test.ts +51 -0
- package/src/internal/Credential.ts +58 -0
- package/src/internal/EarnRates.ts +13 -7
- package/src/internal/EarnVaults.test.ts +2 -2
- package/src/internal/Log.test.ts +3 -1
- package/src/internal/Log.ts +14 -0
- package/src/internal/MetricSink.test.ts +108 -2
- package/src/internal/MetricSink.ts +112 -2
- package/src/internal/RateLimit.test.ts +23 -18
- package/src/internal/RateLimit.ts +23 -15
- package/src/internal/Store.test.ts +99 -13
- package/src/internal/Store.ts +52 -17
- package/src/internal/Tidx.test.ts +4 -4
- package/src/internal/Tidx.ts +5 -4
- package/src/internal/Value.test.ts +25 -0
- package/src/internal/Value.ts +29 -0
- package/src/internal/Viem.test.ts +4 -0
- package/src/internal/Viem.ts +6 -4
- package/src/internal/WebhookTransfer.test.ts +89 -0
- package/src/internal/WebhookTransfer.ts +11 -7
- package/src/internal/Webhooks.test.ts +488 -0
- package/src/internal/Webhooks.ts +291 -10
- package/src/internal/funding/Provider.test.ts +1 -1
- package/src/internal/funding/providers/index.test.ts +73 -3
- package/src/internal/funding/providers/relay.test.ts +1 -5
- package/src/internal/funding/providers/relay.ts +56 -12
- package/src/internal/index.test.ts +1 -0
- package/src/internal/index.ts +1 -0
|
@@ -248,6 +248,146 @@ export namespace schema {
|
|
|
248
248
|
|
|
249
249
|
/** The classified activity item variants (discriminated by `type`). */
|
|
250
250
|
export const items = [
|
|
251
|
+
z
|
|
252
|
+
.object({
|
|
253
|
+
...base,
|
|
254
|
+
data: z.object({
|
|
255
|
+
assets: Schema.DecimalString,
|
|
256
|
+
caller: Schema.Address,
|
|
257
|
+
receiver: Schema.Address,
|
|
258
|
+
shares: Schema.DecimalString,
|
|
259
|
+
signer: Signer,
|
|
260
|
+
status: z.literal('completed'),
|
|
261
|
+
vault: Schema.Address,
|
|
262
|
+
}),
|
|
263
|
+
type: z.literal('assets-deposited'),
|
|
264
|
+
})
|
|
265
|
+
.check(z.meta({ title: 'Assets deposited' })),
|
|
266
|
+
z
|
|
267
|
+
.object({
|
|
268
|
+
...base,
|
|
269
|
+
data: z.object({
|
|
270
|
+
caller: Schema.Address,
|
|
271
|
+
receivedEngineShares: Schema.DecimalString,
|
|
272
|
+
receiver: Schema.Address,
|
|
273
|
+
requestedVenueShares: Schema.DecimalString,
|
|
274
|
+
shares: Schema.DecimalString,
|
|
275
|
+
signer: Signer,
|
|
276
|
+
status: z.literal('completed'),
|
|
277
|
+
vault: Schema.Address,
|
|
278
|
+
}),
|
|
279
|
+
type: z.literal('shares-deposited'),
|
|
280
|
+
})
|
|
281
|
+
.check(z.meta({ title: 'Shares deposited' })),
|
|
282
|
+
z
|
|
283
|
+
.object({
|
|
284
|
+
...base,
|
|
285
|
+
data: z.object({
|
|
286
|
+
assets: Schema.DecimalString,
|
|
287
|
+
caller: Schema.Address,
|
|
288
|
+
receiver: Schema.Address,
|
|
289
|
+
shares: Schema.DecimalString,
|
|
290
|
+
signer: Signer,
|
|
291
|
+
status: z.literal('completed'),
|
|
292
|
+
vault: Schema.Address,
|
|
293
|
+
}),
|
|
294
|
+
type: z.literal('shares-redeemed'),
|
|
295
|
+
})
|
|
296
|
+
.check(z.meta({ title: 'Shares redeemed' })),
|
|
297
|
+
z
|
|
298
|
+
.object({
|
|
299
|
+
...base,
|
|
300
|
+
data: z.object({
|
|
301
|
+
assets: Schema.DecimalString,
|
|
302
|
+
caller: Schema.Address,
|
|
303
|
+
sharesBurned: Schema.DecimalString,
|
|
304
|
+
receiver: Schema.Address,
|
|
305
|
+
signer: Signer,
|
|
306
|
+
status: z.literal('completed'),
|
|
307
|
+
vault: Schema.Address,
|
|
308
|
+
}),
|
|
309
|
+
type: z.literal('assets-withdrawn'),
|
|
310
|
+
})
|
|
311
|
+
.check(z.meta({ title: 'Assets withdrawn' })),
|
|
312
|
+
z
|
|
313
|
+
.object({
|
|
314
|
+
...base,
|
|
315
|
+
data: z.object({
|
|
316
|
+
receiver: Schema.Address,
|
|
317
|
+
requestId: Schema.Hash,
|
|
318
|
+
requester: Schema.Address,
|
|
319
|
+
shares: Schema.DecimalString,
|
|
320
|
+
signer: Signer,
|
|
321
|
+
status: z.literal('pending'),
|
|
322
|
+
vault: Schema.Address,
|
|
323
|
+
}),
|
|
324
|
+
type: z.literal('shares-redemption-requested'),
|
|
325
|
+
})
|
|
326
|
+
.check(z.meta({ title: 'Share redemption requested' })),
|
|
327
|
+
z
|
|
328
|
+
.object({
|
|
329
|
+
...base,
|
|
330
|
+
data: z.object({
|
|
331
|
+
asset: Schema.Address,
|
|
332
|
+
assets: Schema.DecimalString,
|
|
333
|
+
receiver: Schema.Address,
|
|
334
|
+
requestId: Schema.Hash,
|
|
335
|
+
shares: Schema.DecimalString,
|
|
336
|
+
signer: Signer,
|
|
337
|
+
status: z.literal('completed'),
|
|
338
|
+
vault: Schema.Address,
|
|
339
|
+
}),
|
|
340
|
+
type: z.literal('shares-redemption-finalized'),
|
|
341
|
+
})
|
|
342
|
+
.check(z.meta({ title: 'Share redemption finalized' })),
|
|
343
|
+
z
|
|
344
|
+
.object({
|
|
345
|
+
...base,
|
|
346
|
+
data: z.object({
|
|
347
|
+
receiver: Schema.Address,
|
|
348
|
+
requestId: Schema.Hash,
|
|
349
|
+
shares: Schema.DecimalString,
|
|
350
|
+
signer: Signer,
|
|
351
|
+
status: z.literal('cancelled'),
|
|
352
|
+
vault: Schema.Address,
|
|
353
|
+
}),
|
|
354
|
+
type: z.literal('shares-redemption-cancelled'),
|
|
355
|
+
})
|
|
356
|
+
.check(z.meta({ title: 'Share redemption cancelled' })),
|
|
357
|
+
z
|
|
358
|
+
.object({
|
|
359
|
+
...base,
|
|
360
|
+
data: z.object({
|
|
361
|
+
actionId: Schema.Hash,
|
|
362
|
+
assets: Schema.DecimalString,
|
|
363
|
+
inputAmount: Schema.DecimalString,
|
|
364
|
+
inputToken: Schema.Address,
|
|
365
|
+
shares: Schema.DecimalString,
|
|
366
|
+
signer: Signer,
|
|
367
|
+
status: z.literal('completed'),
|
|
368
|
+
vault: Schema.Address,
|
|
369
|
+
zoneDepositHash: Schema.Hash,
|
|
370
|
+
}),
|
|
371
|
+
type: z.literal('private-assets-deposited'),
|
|
372
|
+
})
|
|
373
|
+
.check(z.meta({ title: 'Private assets deposited' })),
|
|
374
|
+
z
|
|
375
|
+
.object({
|
|
376
|
+
...base,
|
|
377
|
+
data: z.object({
|
|
378
|
+
actionId: Schema.Hash,
|
|
379
|
+
assets: Schema.DecimalString,
|
|
380
|
+
outputAmount: Schema.DecimalString,
|
|
381
|
+
outputToken: Schema.Address,
|
|
382
|
+
shares: Schema.DecimalString,
|
|
383
|
+
signer: Signer,
|
|
384
|
+
status: z.literal('completed'),
|
|
385
|
+
vault: Schema.Address,
|
|
386
|
+
zoneDepositHash: Schema.Hash,
|
|
387
|
+
}),
|
|
388
|
+
type: z.literal('private-shares-redeemed'),
|
|
389
|
+
})
|
|
390
|
+
.check(z.meta({ title: 'Private shares redeemed' })),
|
|
251
391
|
z
|
|
252
392
|
.object({
|
|
253
393
|
...base,
|
|
@@ -1550,9 +1690,11 @@ type RawItem = {
|
|
|
1550
1690
|
* OpenAPI schema titles. Used to stamp {@link Item.title} during {@link list}.
|
|
1551
1691
|
*/
|
|
1552
1692
|
const titleByType: Record<Item['type'], string> = {
|
|
1553
|
-
approval: 'Allowance approved',
|
|
1554
1693
|
'access-key-created': 'Access key created',
|
|
1555
1694
|
'access-key-revoked': 'Access key revoked',
|
|
1695
|
+
approval: 'Allowance approved',
|
|
1696
|
+
'assets-deposited': 'Assets deposited',
|
|
1697
|
+
'assets-withdrawn': 'Assets withdrawn',
|
|
1556
1698
|
'blacklist-updated': 'Blacklist updated',
|
|
1557
1699
|
burn: 'Token burned',
|
|
1558
1700
|
'burn-blocked': 'Burn blocked',
|
|
@@ -1581,11 +1723,18 @@ const titleByType: Record<Item['type'], string> = {
|
|
|
1581
1723
|
'pair-created': 'Trading pair created',
|
|
1582
1724
|
'policy-admin-set': 'Policy admin set',
|
|
1583
1725
|
'policy-created': 'Policy created',
|
|
1726
|
+
'private-assets-deposited': 'Private assets deposited',
|
|
1727
|
+
'private-shares-redeemed': 'Private shares redeemed',
|
|
1584
1728
|
'reward-distributed': 'Reward distributed',
|
|
1585
1729
|
'reward-recipient-set': 'Reward recipient set',
|
|
1586
1730
|
'role-admin-set': 'Role admin set',
|
|
1587
1731
|
'role-membership-set': 'Role membership set',
|
|
1588
1732
|
'session-closed': 'Session closed',
|
|
1733
|
+
'shares-deposited': 'Shares deposited',
|
|
1734
|
+
'shares-redeemed': 'Shares redeemed',
|
|
1735
|
+
'shares-redemption-cancelled': 'Share redemption cancelled',
|
|
1736
|
+
'shares-redemption-finalized': 'Share redemption finalized',
|
|
1737
|
+
'shares-redemption-requested': 'Share redemption requested',
|
|
1589
1738
|
'spending-limit-updated': 'Spending limit updated',
|
|
1590
1739
|
swap: 'Tokens swapped',
|
|
1591
1740
|
'token-created': 'Token created',
|
|
@@ -1624,6 +1773,15 @@ const titleByEventName: Record<string, string> = {
|
|
|
1624
1773
|
BlacklistUpdated: 'Blacklist updated',
|
|
1625
1774
|
Burn: 'Token burned',
|
|
1626
1775
|
BurnBlocked: 'Burn blocked',
|
|
1776
|
+
Deposited: 'Assets deposited',
|
|
1777
|
+
EarnDeposit: 'Private assets deposited',
|
|
1778
|
+
EarnRedeem: 'Private shares redeemed',
|
|
1779
|
+
RedeemCancelled: 'Share redemption cancelled',
|
|
1780
|
+
RedeemFinalized: 'Share redemption finalized',
|
|
1781
|
+
RedeemRequested: 'Share redemption requested',
|
|
1782
|
+
Redeemed: 'Shares redeemed',
|
|
1783
|
+
VenueSharesDeposited: 'Shares deposited',
|
|
1784
|
+
WithdrewExact: 'Assets withdrawn',
|
|
1627
1785
|
ChannelClosed: 'Channel closed',
|
|
1628
1786
|
ChannelOpened: 'Channel opened',
|
|
1629
1787
|
CloseRequestCancelled: 'Channel close cancelled',
|
|
@@ -2697,6 +2855,243 @@ function classifyFromLogsCore(
|
|
|
2697
2855
|
'amount' in e.args,
|
|
2698
2856
|
)
|
|
2699
2857
|
|
|
2858
|
+
const privateDeposit = finalEvents.find((event) => event.eventName === 'EarnDeposit')
|
|
2859
|
+
if (privateDeposit) {
|
|
2860
|
+
const args = privateDeposit.args as {
|
|
2861
|
+
actionId: Hex.Hex
|
|
2862
|
+
earnShares: bigint
|
|
2863
|
+
earnVault: Address.Address
|
|
2864
|
+
inputAmount: bigint
|
|
2865
|
+
inputToken: Address.Address
|
|
2866
|
+
vaultAssets: bigint
|
|
2867
|
+
zoneDepositHash: Hex.Hex
|
|
2868
|
+
}
|
|
2869
|
+
return [
|
|
2870
|
+
{
|
|
2871
|
+
...itemBase(logIndexOfEvent(privateDeposit)),
|
|
2872
|
+
data: {
|
|
2873
|
+
actionId: args.actionId,
|
|
2874
|
+
assets: args.vaultAssets.toString(),
|
|
2875
|
+
inputAmount: args.inputAmount.toString(),
|
|
2876
|
+
inputToken: args.inputToken.toLowerCase() as Address.Address,
|
|
2877
|
+
shares: args.earnShares.toString(),
|
|
2878
|
+
signer,
|
|
2879
|
+
status: 'completed',
|
|
2880
|
+
vault: args.earnVault.toLowerCase() as Address.Address,
|
|
2881
|
+
zoneDepositHash: args.zoneDepositHash,
|
|
2882
|
+
},
|
|
2883
|
+
type: 'private-assets-deposited',
|
|
2884
|
+
},
|
|
2885
|
+
]
|
|
2886
|
+
}
|
|
2887
|
+
|
|
2888
|
+
const privateRedeem = finalEvents.find((event) => event.eventName === 'EarnRedeem')
|
|
2889
|
+
if (privateRedeem) {
|
|
2890
|
+
const args = privateRedeem.args as {
|
|
2891
|
+
actionId: Hex.Hex
|
|
2892
|
+
earnShares: bigint
|
|
2893
|
+
earnVault: Address.Address
|
|
2894
|
+
outputAmount: bigint
|
|
2895
|
+
outputToken: Address.Address
|
|
2896
|
+
vaultAssets: bigint
|
|
2897
|
+
zoneDepositHash: Hex.Hex
|
|
2898
|
+
}
|
|
2899
|
+
return [
|
|
2900
|
+
{
|
|
2901
|
+
...itemBase(logIndexOfEvent(privateRedeem)),
|
|
2902
|
+
data: {
|
|
2903
|
+
actionId: args.actionId,
|
|
2904
|
+
assets: args.vaultAssets.toString(),
|
|
2905
|
+
outputAmount: args.outputAmount.toString(),
|
|
2906
|
+
outputToken: args.outputToken.toLowerCase() as Address.Address,
|
|
2907
|
+
shares: args.earnShares.toString(),
|
|
2908
|
+
signer,
|
|
2909
|
+
status: 'completed',
|
|
2910
|
+
vault: args.earnVault.toLowerCase() as Address.Address,
|
|
2911
|
+
zoneDepositHash: args.zoneDepositHash,
|
|
2912
|
+
},
|
|
2913
|
+
type: 'private-shares-redeemed',
|
|
2914
|
+
},
|
|
2915
|
+
]
|
|
2916
|
+
}
|
|
2917
|
+
|
|
2918
|
+
const deposited = finalEvents.find((event) => event.eventName === 'Deposited')
|
|
2919
|
+
if (deposited) {
|
|
2920
|
+
const args = deposited.args as {
|
|
2921
|
+
assets: bigint
|
|
2922
|
+
caller: Address.Address
|
|
2923
|
+
earnShares: bigint
|
|
2924
|
+
receiver: Address.Address
|
|
2925
|
+
}
|
|
2926
|
+
return [
|
|
2927
|
+
{
|
|
2928
|
+
...itemBase(logIndexOfEvent(deposited)),
|
|
2929
|
+
data: {
|
|
2930
|
+
assets: args.assets.toString(),
|
|
2931
|
+
caller: args.caller.toLowerCase() as Address.Address,
|
|
2932
|
+
receiver: args.receiver.toLowerCase() as Address.Address,
|
|
2933
|
+
shares: args.earnShares.toString(),
|
|
2934
|
+
signer,
|
|
2935
|
+
status: 'completed',
|
|
2936
|
+
vault: deposited.address.toLowerCase() as Address.Address,
|
|
2937
|
+
},
|
|
2938
|
+
type: 'assets-deposited',
|
|
2939
|
+
},
|
|
2940
|
+
]
|
|
2941
|
+
}
|
|
2942
|
+
|
|
2943
|
+
const venueDeposit = finalEvents.find((event) => event.eventName === 'VenueSharesDeposited')
|
|
2944
|
+
if (venueDeposit) {
|
|
2945
|
+
const args = venueDeposit.args as {
|
|
2946
|
+
caller: Address.Address
|
|
2947
|
+
earnShares: bigint
|
|
2948
|
+
receivedEngineShares: bigint
|
|
2949
|
+
receiver: Address.Address
|
|
2950
|
+
requestedVenueShares: bigint
|
|
2951
|
+
}
|
|
2952
|
+
return [
|
|
2953
|
+
{
|
|
2954
|
+
...itemBase(logIndexOfEvent(venueDeposit)),
|
|
2955
|
+
data: {
|
|
2956
|
+
caller: args.caller.toLowerCase() as Address.Address,
|
|
2957
|
+
receivedEngineShares: args.receivedEngineShares.toString(),
|
|
2958
|
+
receiver: args.receiver.toLowerCase() as Address.Address,
|
|
2959
|
+
requestedVenueShares: args.requestedVenueShares.toString(),
|
|
2960
|
+
shares: args.earnShares.toString(),
|
|
2961
|
+
signer,
|
|
2962
|
+
status: 'completed',
|
|
2963
|
+
vault: venueDeposit.address.toLowerCase() as Address.Address,
|
|
2964
|
+
},
|
|
2965
|
+
type: 'shares-deposited',
|
|
2966
|
+
},
|
|
2967
|
+
]
|
|
2968
|
+
}
|
|
2969
|
+
|
|
2970
|
+
const redeemed = finalEvents.find((event) => event.eventName === 'Redeemed')
|
|
2971
|
+
if (redeemed) {
|
|
2972
|
+
const args = redeemed.args as {
|
|
2973
|
+
assets: bigint
|
|
2974
|
+
caller: Address.Address
|
|
2975
|
+
earnShares: bigint
|
|
2976
|
+
receiver: Address.Address
|
|
2977
|
+
}
|
|
2978
|
+
return [
|
|
2979
|
+
{
|
|
2980
|
+
...itemBase(logIndexOfEvent(redeemed)),
|
|
2981
|
+
data: {
|
|
2982
|
+
assets: args.assets.toString(),
|
|
2983
|
+
caller: args.caller.toLowerCase() as Address.Address,
|
|
2984
|
+
receiver: args.receiver.toLowerCase() as Address.Address,
|
|
2985
|
+
shares: args.earnShares.toString(),
|
|
2986
|
+
signer,
|
|
2987
|
+
status: 'completed',
|
|
2988
|
+
vault: redeemed.address.toLowerCase() as Address.Address,
|
|
2989
|
+
},
|
|
2990
|
+
type: 'shares-redeemed',
|
|
2991
|
+
},
|
|
2992
|
+
]
|
|
2993
|
+
}
|
|
2994
|
+
|
|
2995
|
+
const withdrew = finalEvents.find((event) => event.eventName === 'WithdrewExact')
|
|
2996
|
+
if (withdrew) {
|
|
2997
|
+
const args = withdrew.args as {
|
|
2998
|
+
assets: bigint
|
|
2999
|
+
caller: Address.Address
|
|
3000
|
+
earnSharesBurned: bigint
|
|
3001
|
+
receiver: Address.Address
|
|
3002
|
+
}
|
|
3003
|
+
return [
|
|
3004
|
+
{
|
|
3005
|
+
...itemBase(logIndexOfEvent(withdrew)),
|
|
3006
|
+
data: {
|
|
3007
|
+
assets: args.assets.toString(),
|
|
3008
|
+
caller: args.caller.toLowerCase() as Address.Address,
|
|
3009
|
+
sharesBurned: args.earnSharesBurned.toString(),
|
|
3010
|
+
receiver: args.receiver.toLowerCase() as Address.Address,
|
|
3011
|
+
signer,
|
|
3012
|
+
status: 'completed',
|
|
3013
|
+
vault: withdrew.address.toLowerCase() as Address.Address,
|
|
3014
|
+
},
|
|
3015
|
+
type: 'assets-withdrawn',
|
|
3016
|
+
},
|
|
3017
|
+
]
|
|
3018
|
+
}
|
|
3019
|
+
|
|
3020
|
+
const requested = finalEvents.find((event) => event.eventName === 'RedeemRequested')
|
|
3021
|
+
if (requested) {
|
|
3022
|
+
const args = requested.args as {
|
|
3023
|
+
earnShares: bigint
|
|
3024
|
+
receiver: Address.Address
|
|
3025
|
+
requestId: Hex.Hex
|
|
3026
|
+
requester: Address.Address
|
|
3027
|
+
}
|
|
3028
|
+
return [
|
|
3029
|
+
{
|
|
3030
|
+
...itemBase(logIndexOfEvent(requested)),
|
|
3031
|
+
data: {
|
|
3032
|
+
receiver: args.receiver.toLowerCase() as Address.Address,
|
|
3033
|
+
requestId: args.requestId,
|
|
3034
|
+
requester: args.requester.toLowerCase() as Address.Address,
|
|
3035
|
+
shares: args.earnShares.toString(),
|
|
3036
|
+
signer,
|
|
3037
|
+
status: 'pending',
|
|
3038
|
+
vault: requested.address.toLowerCase() as Address.Address,
|
|
3039
|
+
},
|
|
3040
|
+
type: 'shares-redemption-requested',
|
|
3041
|
+
},
|
|
3042
|
+
]
|
|
3043
|
+
}
|
|
3044
|
+
|
|
3045
|
+
const finalized = finalEvents.find((event) => event.eventName === 'RedeemFinalized')
|
|
3046
|
+
if (finalized) {
|
|
3047
|
+
const args = finalized.args as {
|
|
3048
|
+
asset: Address.Address
|
|
3049
|
+
assets: bigint
|
|
3050
|
+
earnShares: bigint
|
|
3051
|
+
receiver: Address.Address
|
|
3052
|
+
requestId: Hex.Hex
|
|
3053
|
+
}
|
|
3054
|
+
return [
|
|
3055
|
+
{
|
|
3056
|
+
...itemBase(logIndexOfEvent(finalized)),
|
|
3057
|
+
data: {
|
|
3058
|
+
asset: args.asset.toLowerCase() as Address.Address,
|
|
3059
|
+
assets: args.assets.toString(),
|
|
3060
|
+
receiver: args.receiver.toLowerCase() as Address.Address,
|
|
3061
|
+
requestId: args.requestId,
|
|
3062
|
+
shares: args.earnShares.toString(),
|
|
3063
|
+
signer,
|
|
3064
|
+
status: 'completed',
|
|
3065
|
+
vault: finalized.address.toLowerCase() as Address.Address,
|
|
3066
|
+
},
|
|
3067
|
+
type: 'shares-redemption-finalized',
|
|
3068
|
+
},
|
|
3069
|
+
]
|
|
3070
|
+
}
|
|
3071
|
+
|
|
3072
|
+
const cancelled = finalEvents.find((event) => event.eventName === 'RedeemCancelled')
|
|
3073
|
+
if (cancelled) {
|
|
3074
|
+
const args = cancelled.args as {
|
|
3075
|
+
earnShares: bigint
|
|
3076
|
+
receiver: Address.Address
|
|
3077
|
+
requestId: Hex.Hex
|
|
3078
|
+
}
|
|
3079
|
+
return [
|
|
3080
|
+
{
|
|
3081
|
+
...itemBase(logIndexOfEvent(cancelled)),
|
|
3082
|
+
data: {
|
|
3083
|
+
receiver: args.receiver.toLowerCase() as Address.Address,
|
|
3084
|
+
requestId: args.requestId,
|
|
3085
|
+
shares: args.earnShares.toString(),
|
|
3086
|
+
signer,
|
|
3087
|
+
status: 'cancelled',
|
|
3088
|
+
vault: cancelled.address.toLowerCase() as Address.Address,
|
|
3089
|
+
},
|
|
3090
|
+
type: 'shares-redemption-cancelled',
|
|
3091
|
+
},
|
|
3092
|
+
]
|
|
3093
|
+
}
|
|
3094
|
+
|
|
2700
3095
|
// Swap: a transfer into the DEX paired with one out of the DEX.
|
|
2701
3096
|
const toDex = transfers.find((e) =>
|
|
2702
3097
|
Address.isEqual((e.args as { to: Address.Address }).to, Addresses.stablecoinDex),
|
|
@@ -3954,7 +4349,11 @@ function decodeRows(rows: readonly Row[]) {
|
|
|
3954
4349
|
transactionHash: r.txHash as `0x${string}`,
|
|
3955
4350
|
transactionIndex: r.txIdx,
|
|
3956
4351
|
}))
|
|
3957
|
-
return parseEventLogs({
|
|
4352
|
+
return parseEventLogs({
|
|
4353
|
+
abi: [...Abis.abis, ...Abis.earnRouter, ...Abis.earnVault],
|
|
4354
|
+
logs: viemLogs,
|
|
4355
|
+
strict: false,
|
|
4356
|
+
})
|
|
3958
4357
|
}
|
|
3959
4358
|
|
|
3960
4359
|
/**
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import * as QueryBench from '../../../../test/QueryBench.js'
|
|
2
|
+
|
|
3
|
+
const address = '0x68f94cfca22e5969c0553bbeab00a2acde88939b'
|
|
4
|
+
|
|
5
|
+
QueryBench.bench({
|
|
6
|
+
name: 'getAddressBalances',
|
|
7
|
+
path: `/v1/addresses/${address}/balances`,
|
|
8
|
+
queries: [
|
|
9
|
+
'currency=USD',
|
|
10
|
+
'feeEligible=true',
|
|
11
|
+
'include=totalCount',
|
|
12
|
+
'valuation.currency=USD',
|
|
13
|
+
'verified=true',
|
|
14
|
+
],
|
|
15
|
+
})
|
|
16
|
+
|
|
17
|
+
QueryBench.bench({
|
|
18
|
+
name: 'getAddressBalance',
|
|
19
|
+
path: `/v1/addresses/${address}/balances/${QueryBench.pathUsd}`,
|
|
20
|
+
queries: ['valuation.currency=USD'],
|
|
21
|
+
})
|
|
@@ -374,13 +374,15 @@ export function addresses(options: addresses.Options = {}) {
|
|
|
374
374
|
Tokens.resolveToken(c, { address: token, chainId, include: [], snapshot }),
|
|
375
375
|
),
|
|
376
376
|
)
|
|
377
|
+
const client = c.get('getClient')(chainId)
|
|
378
|
+
const caller = c.get('zones').has(chainId) ? address : undefined
|
|
377
379
|
const [balance, feeTokens, snapshot, resolvedToken] = await Promise.all([
|
|
378
380
|
Timing.time(c, 'balance_rpc', async () => {
|
|
379
|
-
const
|
|
381
|
+
const call = Actions.token.getBalance.call(client, {
|
|
380
382
|
account: address,
|
|
381
383
|
token,
|
|
382
384
|
})
|
|
383
|
-
return
|
|
385
|
+
return client.readContract({ ...call, account: caller })
|
|
384
386
|
}),
|
|
385
387
|
FeeAmm.feeTokenSet(c, chainId).catch(() => undefined),
|
|
386
388
|
snapshotPromise,
|
|
@@ -512,16 +514,18 @@ async function getAddressBalances(
|
|
|
512
514
|
const correctedPromise = holdingsPromise.then(async (holdings) => {
|
|
513
515
|
if (holdings.length === 0) return []
|
|
514
516
|
const client = c.get('getClient')(chainId)
|
|
517
|
+
const caller = c.get('zones').has(chainId) ? address : undefined
|
|
515
518
|
return Timing.time(c, 'balances_rpc', async () => {
|
|
516
519
|
// Concurrent reads enter viem's shared batch window and become one
|
|
517
520
|
// deployless multicall. A failed read fails the request rather than serving
|
|
518
521
|
// a stale or partial balance page.
|
|
519
522
|
const results = await Promise.all(
|
|
520
523
|
holdings.map(async (holding) => {
|
|
521
|
-
const
|
|
524
|
+
const call = Actions.token.getBalance.call(client, {
|
|
522
525
|
account: address,
|
|
523
526
|
token: holding.address,
|
|
524
527
|
})
|
|
528
|
+
const amount = await client.readContract({ ...call, account: caller })
|
|
525
529
|
return amount === 0n ? undefined : { address: holding.address, amount: amount.toString() }
|
|
526
530
|
}),
|
|
527
531
|
)
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import * as QueryBench from '../../../../test/QueryBench.js'
|
|
2
|
+
|
|
3
|
+
const fixtures = {
|
|
4
|
+
4217: { number: 34_335_551, timestamp: 1_786_485_830 },
|
|
5
|
+
42431: { number: 30_469_074, timestamp: 1_786_485_831 },
|
|
6
|
+
} as const
|
|
7
|
+
|
|
8
|
+
QueryBench.bench({ name: 'getBlocks', path: '/v1/blocks' })
|
|
9
|
+
|
|
10
|
+
QueryBench.bench({
|
|
11
|
+
name: 'getBlock',
|
|
12
|
+
path: {
|
|
13
|
+
4217: `/v1/blocks/${fixtures[4217].number}`,
|
|
14
|
+
42431: `/v1/blocks/${fixtures[42431].number}`,
|
|
15
|
+
},
|
|
16
|
+
})
|
|
17
|
+
|
|
18
|
+
QueryBench.bench({
|
|
19
|
+
chainId: false,
|
|
20
|
+
name: 'getBlockByTimestamp',
|
|
21
|
+
path: {
|
|
22
|
+
4217: `/chains/4217/blocks/by-timestamp?closest=before×tamp=${fixtures[4217].timestamp}`,
|
|
23
|
+
42431: `/chains/42431/blocks/by-timestamp?closest=before×tamp=${fixtures[42431].timestamp}`,
|
|
24
|
+
},
|
|
25
|
+
})
|
|
26
|
+
|
|
27
|
+
QueryBench.bench({
|
|
28
|
+
chainId: false,
|
|
29
|
+
name: 'getBlockByTimestamp?closest=after',
|
|
30
|
+
path: {
|
|
31
|
+
4217: `/chains/4217/blocks/by-timestamp?closest=after×tamp=${fixtures[4217].timestamp}`,
|
|
32
|
+
42431: `/chains/42431/blocks/by-timestamp?closest=after×tamp=${fixtures[42431].timestamp}`,
|
|
33
|
+
},
|
|
34
|
+
})
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as QueryBench from '../../../../test/QueryBench.js'
|
|
2
|
+
|
|
3
|
+
const pairId = {
|
|
4
|
+
4217: '0xc91fa403390f4eaf7f555b1ee33f54408befc79c5665728a2ac7e7ffa39c42ef',
|
|
5
|
+
42431: '0xb2b3f6d58ad8554d56200ebcd347ee2461a07276b764e0c0daf56b192bc7d341',
|
|
6
|
+
} as const
|
|
7
|
+
|
|
8
|
+
const block = { 4217: 34_335_551, 42431: 30_469_074 } as const
|
|
9
|
+
|
|
10
|
+
QueryBench.bench({
|
|
11
|
+
chainId: false,
|
|
12
|
+
name: 'coingeckoLatestBlock',
|
|
13
|
+
path: { 4217: '/gecko/4217/latest-block', 42431: '/gecko/42431/latest-block' },
|
|
14
|
+
})
|
|
15
|
+
|
|
16
|
+
QueryBench.bench({
|
|
17
|
+
chainId: false,
|
|
18
|
+
name: 'coingeckoAsset',
|
|
19
|
+
path: {
|
|
20
|
+
4217: `/gecko/4217/assets/${QueryBench.pathUsd}`,
|
|
21
|
+
42431: `/gecko/42431/assets/${QueryBench.pathUsd}`,
|
|
22
|
+
},
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
QueryBench.bench({
|
|
26
|
+
chainId: false,
|
|
27
|
+
name: 'coingeckoPairs',
|
|
28
|
+
path: { 4217: '/gecko/4217/pairs', 42431: '/gecko/42431/pairs' },
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
QueryBench.bench({
|
|
32
|
+
chainId: false,
|
|
33
|
+
name: 'coingeckoPair',
|
|
34
|
+
path: {
|
|
35
|
+
4217: `/gecko/4217/pairs/${pairId[4217]}`,
|
|
36
|
+
42431: `/gecko/42431/pairs/${pairId[42431]}`,
|
|
37
|
+
},
|
|
38
|
+
})
|
|
39
|
+
|
|
40
|
+
QueryBench.bench({
|
|
41
|
+
chainId: false,
|
|
42
|
+
name: 'coingeckoEvents',
|
|
43
|
+
path: { 4217: '/gecko/4217/events', 42431: '/gecko/42431/events' },
|
|
44
|
+
})
|
|
45
|
+
|
|
46
|
+
QueryBench.bench({
|
|
47
|
+
chainId: false,
|
|
48
|
+
name: 'coingeckoEvents?fromBlock&toBlock',
|
|
49
|
+
path: {
|
|
50
|
+
4217: `/gecko/4217/events?fromBlock=${block[4217] - 100}&toBlock=${block[4217]}`,
|
|
51
|
+
42431: `/gecko/42431/events?fromBlock=${block[42431] - 100}&toBlock=${block[42431]}`,
|
|
52
|
+
},
|
|
53
|
+
})
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import * as QueryBench from '../../../../test/QueryBench.js'
|
|
2
|
+
|
|
3
|
+
const fixtures = {
|
|
4
|
+
4217: {
|
|
5
|
+
address: '0xbe058e1c4df8a4366a387bf595b284246a93039e',
|
|
6
|
+
vault: '0xf06e5740e5c72f61a10cf8149fa145fee48e560e',
|
|
7
|
+
},
|
|
8
|
+
42431: {
|
|
9
|
+
address: '0x68f94cfca22e5969c0553bbeab00a2acde88939b',
|
|
10
|
+
vault: '0xf4ae63687d6753a78e7f551d2eda1d0d31a5ea3a',
|
|
11
|
+
},
|
|
12
|
+
} as const
|
|
13
|
+
|
|
14
|
+
const vaultQueries = [
|
|
15
|
+
'apy.window=1d',
|
|
16
|
+
'include=access',
|
|
17
|
+
'include=apy',
|
|
18
|
+
'include=capabilities',
|
|
19
|
+
'include=token.logoUri',
|
|
20
|
+
'include=tvl',
|
|
21
|
+
'include=zone',
|
|
22
|
+
] as const
|
|
23
|
+
|
|
24
|
+
const collectionQueries = ['capability=deposit', ...vaultQueries] as const
|
|
25
|
+
|
|
26
|
+
QueryBench.bench({
|
|
27
|
+
name: 'getEarnVaults',
|
|
28
|
+
path: '/v1/earn/vaults',
|
|
29
|
+
queries: collectionQueries,
|
|
30
|
+
})
|
|
31
|
+
|
|
32
|
+
QueryBench.bench({
|
|
33
|
+
name: 'getVerifiedEarnVaults',
|
|
34
|
+
path: '/v1/earn/vaults/verified',
|
|
35
|
+
queries: collectionQueries,
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
QueryBench.bench({
|
|
39
|
+
name: 'getEarnAddressPositions',
|
|
40
|
+
path: {
|
|
41
|
+
4217: `/v1/earn/addresses/${fixtures[4217].address}/positions`,
|
|
42
|
+
42431: `/v1/earn/addresses/${fixtures[42431].address}/positions`,
|
|
43
|
+
},
|
|
44
|
+
queries: ['valuation.currency=USD', 'verified=true'],
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
QueryBench.bench({
|
|
48
|
+
name: 'getEarnVaultPosition',
|
|
49
|
+
path: {
|
|
50
|
+
4217: `/v1/earn/vaults/${fixtures[4217].vault}/positions/${fixtures[4217].address}`,
|
|
51
|
+
42431: `/v1/earn/vaults/${fixtures[42431].vault}/positions/${fixtures[42431].address}`,
|
|
52
|
+
},
|
|
53
|
+
})
|
|
54
|
+
|
|
55
|
+
QueryBench.bench({
|
|
56
|
+
name: 'getEarnVaultEarnings',
|
|
57
|
+
path: {
|
|
58
|
+
4217: `/v1/earn/vaults/${fixtures[4217].vault}/earnings/${fixtures[4217].address}`,
|
|
59
|
+
42431: `/v1/earn/vaults/${fixtures[42431].vault}/earnings/${fixtures[42431].address}`,
|
|
60
|
+
},
|
|
61
|
+
queries: ['period=30d', 'period=active'],
|
|
62
|
+
})
|
|
63
|
+
|
|
64
|
+
QueryBench.bench({
|
|
65
|
+
name: 'getEarnVault',
|
|
66
|
+
path: {
|
|
67
|
+
4217: `/v1/earn/vaults/${fixtures[4217].vault}`,
|
|
68
|
+
42431: `/v1/earn/vaults/${fixtures[42431].vault}`,
|
|
69
|
+
},
|
|
70
|
+
queries: vaultQueries,
|
|
71
|
+
})
|