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.
- 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 +4292 -3708
- 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 +21 -20
- package/dist/Webhooks.d.ts.map +1 -1
- package/dist/Webhooks.js +66 -23
- 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 +26 -17
- 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/apps/verified-tokens.d.ts +168 -168
- 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 +26 -0
- package/dist/analytics/Analytics.js.map +1 -1
- package/dist/apps/Zones.d.ts +4280 -84
- package/dist/apps/Zones.d.ts.map +1 -1
- package/dist/apps/Zones.js +30 -10
- package/dist/apps/Zones.js.map +1 -1
- package/dist/apps/data/App.d.ts +5799 -4929
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/FxOracle.d.ts +4 -5
- package/dist/apps/data/FxOracle.d.ts.map +1 -1
- package/dist/apps/data/FxOracle.js +19 -4
- package/dist/apps/data/FxOracle.js.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +3391 -492
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +372 -29
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +853 -339
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.d.ts +10 -10
- package/dist/apps/data/routes/balances.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.js +145 -83
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +123 -123
- package/dist/apps/data/routes/coingecko.d.ts +169 -169
- package/dist/apps/data/routes/earn.d.ts +455 -1
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +369 -45
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
- package/dist/apps/data/routes/exchanges.js +114 -118
- 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 +35 -34
- 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.map +1 -1
- package/dist/apps/data/routes/receipts.js +68 -47
- package/dist/apps/data/routes/receipts.js.map +1 -1
- package/dist/apps/data/routes/rpc.d.ts +31 -31
- 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 +461 -459
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/transactions.d.ts +313 -305
- package/dist/apps/data/routes/transactions.d.ts.map +1 -1
- package/dist/apps/data/routes/transactions.js +25 -23
- package/dist/apps/data/routes/transactions.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts +108 -86
- package/dist/apps/data/routes/transfers.d.ts.map +1 -1
- package/dist/apps/data/routes/transfers.js +618 -105
- package/dist/apps/data/routes/transfers.js.map +1 -1
- package/dist/apps/data/routes/valuation.d.ts +21 -21
- package/dist/apps/data/routes/valuation.d.ts.map +1 -1
- package/dist/apps/data/routes/valuation.js +2 -2
- package/dist/apps/data/routes/valuation.js.map +1 -1
- package/dist/apps/data/routes/webhooks.d.ts +519 -868
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +642 -353
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +31 -31
- package/dist/apps/data/routes/zones.d.ts.map +1 -1
- package/dist/apps/data/routes/zones.js +4 -2
- package/dist/apps/data/routes/zones.js.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.js +1 -1
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
- package/dist/apps/funding/routes/providers.d.ts +13 -13
- package/dist/apps/funding/routes/quotes.d.ts +89 -89
- package/dist/apps/funding/routes/transfers.d.ts +36 -36
- 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 +11 -309
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +74 -74
- 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 +35 -35
- package/dist/apps/management/routes/faucet.js +2 -2
- package/dist/apps/management/routes/faucet.js.map +1 -1
- package/dist/apps/management/routes/invitations.d.ts +134 -134
- package/dist/apps/management/routes/invite-links.d.ts +80 -80
- package/dist/apps/management/routes/members.d.ts +69 -69
- package/dist/apps/management/routes/orgs.d.ts +98 -98
- package/dist/apps/management/routes/projects.d.ts +60 -60
- package/dist/apps/management/routes/usage.d.ts +72 -72
- package/dist/apps/management/routes/verified-token-requests.d.ts +83 -83
- package/dist/apps/management/routes/webhooks.d.ts +203 -618
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- 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/apps/mpp/App.d.ts +56 -44
- package/dist/apps/mpp/App.d.ts.map +1 -1
- package/dist/apps/mpp/Mpp.d.ts +3 -0
- package/dist/apps/mpp/Mpp.d.ts.map +1 -1
- package/dist/apps/mpp/Mpp.js +3 -0
- package/dist/apps/mpp/Mpp.js.map +1 -1
- package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Adapter.js +9 -2
- package/dist/apps/mpp/internal/Adapter.js.map +1 -1
- package/dist/db/Db.d.ts +4 -2
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +75 -15
- 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/sponsoredTransactions.d.ts.map +1 -1
- package/dist/db/tables/sponsoredTransactions.js +4 -1
- package/dist/db/tables/sponsoredTransactions.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 +58 -3
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +86 -3
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/internal/Auth.d.ts +3 -0
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +6 -4
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/MetricSink.d.ts +139 -3
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +144 -4
- 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/Schema.js +1 -1
- package/dist/internal/Schema.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 +1 -3
- package/dist/internal/Tidx.d.ts.map +1 -1
- package/dist/internal/Tidx.js +1 -3
- 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.map +1 -1
- package/dist/internal/Viem.js +2 -1
- package/dist/internal/Viem.js.map +1 -1
- package/dist/internal/WebhookDestination.d.ts +2 -0
- package/dist/internal/WebhookDestination.d.ts.map +1 -1
- package/dist/internal/WebhookDestination.js +11 -0
- package/dist/internal/WebhookDestination.js.map +1 -1
- package/dist/internal/WebhookTransfer.d.ts +75 -0
- package/dist/internal/WebhookTransfer.d.ts.map +1 -0
- package/dist/internal/WebhookTransfer.js +299 -0
- package/dist/internal/WebhookTransfer.js.map +1 -0
- package/dist/internal/Webhooks.d.ts +176 -0
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +216 -20
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/funding/Provider.d.ts +4 -0
- package/dist/internal/funding/Provider.d.ts.map +1 -1
- package/dist/internal/funding/Provider.js +11 -7
- package/dist/internal/funding/Provider.js.map +1 -1
- package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
- package/dist/internal/funding/Reconciliation.js +128 -0
- package/dist/internal/funding/Reconciliation.js.map +1 -1
- package/dist/internal/funding/providers/relay.d.ts +6 -4
- package/dist/internal/funding/providers/relay.d.ts.map +1 -1
- package/dist/internal/funding/providers/relay.js +71 -9
- package/dist/internal/funding/providers/relay.js.map +1 -1
- package/package.json +4 -4
- package/src/ApiKeys.test.ts +20 -0
- package/src/ApiKeys.ts +28 -1
- package/src/App.test.ts +10 -8
- package/src/App.ts +1 -0
- package/src/Client.test-d.ts +61 -5
- package/src/Webhooks.bench.ts +714 -0
- package/src/Webhooks.memory.bench.ts +250 -0
- package/src/Webhooks.test.ts +77 -6
- package/src/Webhooks.ts +85 -29
- 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 +8 -0
- package/src/analytics/Analytics.ts +26 -0
- package/src/apps/Zones.test.ts +23 -5
- package/src/apps/Zones.ts +31 -10
- package/src/apps/composition.test.ts +1 -0
- package/src/apps/data/App.test.ts +2 -2
- package/src/apps/data/FxOracle.test.ts +18 -0
- package/src/apps/data/FxOracle.ts +28 -5
- package/src/apps/data/routes/activities.bench.ts +41 -0
- package/src/apps/data/routes/activities.test.ts +122 -2
- package/src/apps/data/routes/activities.ts +435 -32
- package/src/apps/data/routes/balances.bench.ts +21 -0
- package/src/apps/data/routes/balances.test.ts +119 -10
- package/src/apps/data/routes/balances.ts +164 -97
- package/src/apps/data/routes/blocks.bench.ts +34 -0
- package/src/apps/data/routes/blocks.test.ts +12 -6
- 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.test.ts +197 -0
- package/src/apps/data/routes/earn.ts +487 -45
- package/src/apps/data/routes/exchanges.bench.ts +85 -0
- package/src/apps/data/routes/exchanges.test.ts +7 -6
- package/src/apps/data/routes/exchanges.ts +124 -117
- 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.test.ts +24 -7
- package/src/apps/data/routes/receipts.ts +67 -50
- 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.test.ts +51 -0
- package/src/apps/data/routes/transactions.bench.ts +40 -0
- package/src/apps/data/routes/transactions.test.ts +42 -0
- package/src/apps/data/routes/transactions.ts +44 -39
- package/src/apps/data/routes/transfers.bench.ts +28 -0
- package/src/apps/data/routes/transfers.test.ts +402 -24
- package/src/apps/data/routes/transfers.ts +708 -101
- package/src/apps/data/routes/valuation.bench.ts +14 -0
- package/src/apps/data/routes/valuation.test.ts +26 -0
- package/src/apps/data/routes/valuation.ts +6 -2
- 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 +466 -135
- package/src/apps/data/routes/webhooks.ts +820 -429
- 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 +7 -2
- package/src/apps/funding/routes/chains.test.ts +1 -1
- package/src/apps/funding/routes/deposit-addresses.test.ts +1 -1
- package/src/apps/funding/routes/deposit-addresses.ts +1 -1
- package/src/apps/funding/routes/providers.test.ts +1 -1
- package/src/apps/funding/routes/quotes.test.ts +2 -2
- package/src/apps/funding/routes/transfers.test.ts +3 -6
- 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/apps/mpp/Mpp.test.ts +13 -1
- package/src/apps/mpp/Mpp.ts +8 -0
- package/src/apps/mpp/internal/Adapter.ts +10 -2
- package/src/db/Db.test.ts +40 -6
- package/src/db/Db.ts +114 -19
- package/src/db/Schema.ts +32 -0
- package/src/db/tables/sponsoredTransactions.ts +9 -2
- package/src/db/tables/webhookQueueEvents.ts +285 -0
- package/src/db/tables/webhookSubscriptions.ts +131 -4
- package/src/internal/Auth.test.ts +61 -50
- package/src/internal/Auth.ts +9 -4
- package/src/internal/EarnVaults.test.ts +2 -2
- package/src/internal/MetricSink.test.ts +575 -0
- package/src/internal/MetricSink.ts +325 -10
- package/src/internal/RateLimit.test.ts +23 -18
- package/src/internal/RateLimit.ts +23 -15
- package/src/internal/Schema.ts +1 -1
- 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 +1 -3
- package/src/internal/Value.test.ts +25 -0
- package/src/internal/Value.ts +29 -0
- package/src/internal/Viem.test.ts +8 -0
- package/src/internal/Viem.ts +2 -1
- package/src/internal/WebhookDestination.test.ts +20 -0
- package/src/internal/WebhookDestination.ts +10 -0
- package/src/internal/WebhookTransfer.test.ts +89 -0
- package/src/internal/WebhookTransfer.ts +430 -0
- package/src/internal/Webhooks.test.ts +616 -0
- package/src/internal/Webhooks.ts +412 -24
- package/src/internal/funding/Provider.test.ts +48 -8
- package/src/internal/funding/Provider.ts +12 -7
- package/src/internal/funding/Reconciliation.local.test.ts +3 -1
- package/src/internal/funding/Reconciliation.test.ts +1240 -0
- package/src/internal/funding/Reconciliation.ts +136 -0
- package/src/internal/funding/SourceObservation.test.ts +1 -0
- package/src/internal/funding/providers/index.test.ts +73 -3
- package/src/internal/funding/providers/relay.test.ts +2 -9
- package/src/internal/funding/providers/relay.ts +72 -13
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/addresses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,SAAS,CAAC,OAAY
|
|
1
|
+
{"version":3,"file":"addresses.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/addresses.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAG3C,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAE3C;;;;;;;;;;;;GAYG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,SAAS,CAAC,OAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAKxD;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,qDAAqD;IACrD,KAAK,OAAO,GAAG;QACb,mDAAmD;QACnD,EAAE,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAA;KACxC,CAAA;CACF"}
|
|
@@ -51,10 +51,10 @@ export declare namespace schema {
|
|
|
51
51
|
symbol: z.ZodMiniString<string>;
|
|
52
52
|
verified: z.ZodMiniBoolean<boolean>;
|
|
53
53
|
}, z.core.$strip>;
|
|
54
|
-
valuation: z.ZodMiniNullable<z.ZodMiniObject<{
|
|
54
|
+
valuation: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
|
|
55
55
|
amount: z.ZodMiniString<string>;
|
|
56
56
|
currency: z.ZodMiniString<string>;
|
|
57
|
-
}, z.core.$strip
|
|
57
|
+
}, z.core.$strip>>>;
|
|
58
58
|
}, z.core.$strip>;
|
|
59
59
|
/** Page-level resources: opt-in counts plus valuation rate provenance. */
|
|
60
60
|
const Meta: z.ZodMiniObject<{
|
|
@@ -85,10 +85,10 @@ export declare namespace schema {
|
|
|
85
85
|
symbol: z.ZodMiniString<string>;
|
|
86
86
|
verified: z.ZodMiniBoolean<boolean>;
|
|
87
87
|
}, z.core.$strip>;
|
|
88
|
-
valuation: z.ZodMiniNullable<z.ZodMiniObject<{
|
|
88
|
+
valuation: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
|
|
89
89
|
amount: z.ZodMiniString<string>;
|
|
90
90
|
currency: z.ZodMiniString<string>;
|
|
91
|
-
}, z.core.$strip
|
|
91
|
+
}, z.core.$strip>>>;
|
|
92
92
|
}, z.core.$strip>>;
|
|
93
93
|
meta: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
94
94
|
valuation: z.ZodMiniOptional<z.ZodMiniObject<{
|
|
@@ -135,10 +135,10 @@ export declare namespace schema {
|
|
|
135
135
|
symbol: z.ZodMiniString<string>;
|
|
136
136
|
verified: z.ZodMiniBoolean<boolean>;
|
|
137
137
|
}, z.core.$strip>;
|
|
138
|
-
valuation: z.ZodMiniNullable<z.ZodMiniObject<{
|
|
138
|
+
valuation: z.ZodMiniOptional<z.ZodMiniNullable<z.ZodMiniObject<{
|
|
139
139
|
amount: z.ZodMiniString<string>;
|
|
140
140
|
currency: z.ZodMiniString<string>;
|
|
141
|
-
}, z.core.$strip
|
|
141
|
+
}, z.core.$strip>>>;
|
|
142
142
|
}, z.core.$strip>;
|
|
143
143
|
}
|
|
144
144
|
}
|
|
@@ -384,10 +384,10 @@ export declare function addresses(options?: addresses.Options): import("hono/hon
|
|
|
384
384
|
symbol: string;
|
|
385
385
|
verified: boolean;
|
|
386
386
|
};
|
|
387
|
-
valuation
|
|
387
|
+
valuation?: {
|
|
388
388
|
amount: string;
|
|
389
389
|
currency: string;
|
|
390
|
-
} | null;
|
|
390
|
+
} | null | undefined;
|
|
391
391
|
}[];
|
|
392
392
|
meta?: {
|
|
393
393
|
valuation?: {
|
|
@@ -610,10 +610,10 @@ export declare function addresses(options?: addresses.Options): import("hono/hon
|
|
|
610
610
|
symbol: string;
|
|
611
611
|
verified: boolean;
|
|
612
612
|
};
|
|
613
|
-
valuation
|
|
613
|
+
valuation?: {
|
|
614
614
|
amount: string;
|
|
615
615
|
currency: string;
|
|
616
|
-
} | null;
|
|
616
|
+
} | null | undefined;
|
|
617
617
|
};
|
|
618
618
|
outputFormat: "json";
|
|
619
619
|
status: 200;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/balances.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAK3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAOzD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAQ3C,iDAAiD;AACjD,yBAAiB,MAAM,CAAC;IACtB,oDAAoD;IACpD,UAAiB,kBAAkB,CAAC;QAClC,oDAAoD;QAC7C,MAAM,MAAM;;yBAM6D,CAAA;QAEhF,qDAAqD;QAC9C,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"balances.d.ts","sourceRoot":"","sources":["../../../../src/apps/data/routes/balances.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,CAAC,MAAM,UAAU,CAAA;AAE7B,OAAO,KAAK,KAAK,GAAG,MAAM,iBAAiB,CAAA;AAK3C,OAAO,KAAK,QAAQ,MAAM,+BAA+B,CAAA;AAOzD,OAAO,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAQ3C,iDAAiD;AACjD,yBAAiB,MAAM,CAAC;IACtB,oDAAoD;IACpD,UAAiB,kBAAkB,CAAC;QAClC,oDAAoD;QAC7C,MAAM,MAAM;;yBAM6D,CAAA;QAEhF,qDAAqD;QAC9C,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;0BA+Cf,CAAA;QAEH,kGAAkG;QAC3F,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;yBAoEnB,CAAA;QAED,0EAA0E;QACnE,MAAM,IAAI;;;;;;;;yBAasD,CAAA;QAEvE,sFAAsF;QAC/E,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAUwD,CAAA;KAC9E;IAED,mDAAmD;IACnD,UAAiB,iBAAiB,CAAC;QACjC,4DAA4D;QACrD,MAAM,MAAM;;;yBAO2D,CAAA;QAE9E,6DAA6D;QACtD,MAAM,KAAK;;;;;;0BAU6D,CAAA;QAE/E,wDAAwD;QACjD,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;yBAEpB,CAAA;KACF;CACF;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,OAAO,GAAE,SAAS,CAAC,OAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kDA0MxD;AAED,MAAM,CAAC,OAAO,WAAW,SAAS,CAAC;IACjC,uDAAuD;IACvD,KAAK,OAAO,GAAG;QACb,kDAAkD;QAClD,EAAE,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,SAAS,CAAA;KACxC,CAAA;CACF"}
|
|
@@ -51,7 +51,8 @@ export var schema;
|
|
|
51
51
|
include: Schema.totalCountInclude,
|
|
52
52
|
limit: Schema.Limit,
|
|
53
53
|
page: Schema.Page,
|
|
54
|
-
'valuation.currency': Schema.Denomination,
|
|
54
|
+
'valuation.currency': Schema.Denomination.check(z.describe('When present, include each holding’s nominal value in this denomination. ' +
|
|
55
|
+
'Case-insensitive and must be priced by the configured FX oracle.')),
|
|
55
56
|
verified: z
|
|
56
57
|
.optional(Schema.booleanQuery())
|
|
57
58
|
.check(z.describe('When `true`, include only tokens from Tempo’s curated verified token list.'), z.meta({ examples: [true] })),
|
|
@@ -83,9 +84,9 @@ export var schema;
|
|
|
83
84
|
.check(z.describe('A stable resource ID for this balance, equal to the token contract address.'), z.meta({ examples: ['0x20c0000000000000000000008f5425160ebe5525'] })),
|
|
84
85
|
token: Tokens.schema.Token,
|
|
85
86
|
valuation: z
|
|
86
|
-
.nullable(Valuation.schema.Value)
|
|
87
|
-
.check(z.describe('The holding’s nominal value
|
|
88
|
-
'token is unverified, its display currency has no rate, or rates were unavailable.')),
|
|
87
|
+
.optional(z.nullable(Valuation.schema.Value))
|
|
88
|
+
.check(z.describe('The holding’s nominal value when `valuation.currency` is requested, or `null` when ' +
|
|
89
|
+
'the token is unverified, its display currency has no rate, or rates were unavailable.')),
|
|
89
90
|
}), 'One TIP-20 token balance held by this account, with both raw and human-readable amounts.');
|
|
90
91
|
/** Page-level resources: opt-in counts plus valuation rate provenance. */
|
|
91
92
|
getAddressBalances.Meta = z
|
|
@@ -125,7 +126,8 @@ export var schema;
|
|
|
125
126
|
getAddressBalance.Query = z
|
|
126
127
|
.strictObject({
|
|
127
128
|
chainId: Schema.ChainIdQuery,
|
|
128
|
-
'valuation.currency': Schema.Denomination,
|
|
129
|
+
'valuation.currency': Schema.Denomination.check(z.describe('When present, include the holding’s nominal value in this denomination. ' +
|
|
130
|
+
'Case-insensitive and must be priced by the configured FX oracle.')),
|
|
129
131
|
})
|
|
130
132
|
.check(z.describe('Query parameters for reading one account token balance.'));
|
|
131
133
|
/** A single TIP-20 token balance held by an address. */
|
|
@@ -146,7 +148,7 @@ export function addresses(options = {}) {
|
|
|
146
148
|
code: 'query_invalid',
|
|
147
149
|
message: 'Invalid query parameters',
|
|
148
150
|
}), OpenApi.describeRoute({
|
|
149
|
-
description: 'Lists how much of each TIP-20 token an account holds, ordered from largest to smallest balance. Amounts are returned in raw base units and human-readable form
|
|
151
|
+
description: 'Lists how much of each TIP-20 token an account holds, ordered from largest to smallest balance. Amounts are returned in raw base units and human-readable form. Pass `valuation.currency` to include nominal values.',
|
|
150
152
|
operationId: 'getAddressBalances',
|
|
151
153
|
responses: OpenApi.responses({
|
|
152
154
|
errors: { 502: 'Could not read balance or token data from an upstream service.' },
|
|
@@ -182,26 +184,13 @@ export function addresses(options = {}) {
|
|
|
182
184
|
// `verified=true` from the caller's perspective.
|
|
183
185
|
const verified = query.verified || query.currency !== undefined;
|
|
184
186
|
const feeEligible = query.feeEligible ?? false;
|
|
185
|
-
// The fee-token set powers both the per-row `feeEligible` flag (always)
|
|
186
|
-
// and the optional `feeEligible=true` page restriction. It is memoized
|
|
187
|
-
// per chain (a near-constant), so one read feeds the page, the count,
|
|
188
|
-
// and the row enrichment. It is a best-effort enrichment: a lookup
|
|
189
|
-
// failure omits `feeEligible` rather than failing the page — unless the
|
|
190
|
-
// caller explicitly asked to filter by `feeEligible`, where the filter
|
|
191
|
-
// can't be honored, so the failure surfaces as the declared `502`.
|
|
192
|
-
const feeTokens = await FeeAmm.feeTokenSet(c, chainId).catch((cause) => {
|
|
193
|
-
if (feeEligible)
|
|
194
|
-
throw cause;
|
|
195
|
-
return undefined;
|
|
196
|
-
});
|
|
197
187
|
const balances = await getAddressBalances(c, {
|
|
198
188
|
address,
|
|
199
189
|
chainId,
|
|
200
190
|
currency: query.currency,
|
|
201
191
|
cursor: query.cursor,
|
|
202
|
-
denomination: query['valuation.currency']
|
|
192
|
+
denomination: query['valuation.currency'],
|
|
203
193
|
feeEligible,
|
|
204
|
-
feeTokens,
|
|
205
194
|
includeTotalCount: query.include.includes('totalCount'),
|
|
206
195
|
limit: query.limit,
|
|
207
196
|
oracle,
|
|
@@ -260,25 +249,39 @@ export function addresses(options = {}) {
|
|
|
260
249
|
const { address, token } = c.req.valid('param');
|
|
261
250
|
const query = c.req.valid('query');
|
|
262
251
|
const chainId = query.chainId ?? c.get('chainId');
|
|
252
|
+
const denomination = query['valuation.currency'];
|
|
263
253
|
try {
|
|
264
|
-
const
|
|
265
|
-
|
|
254
|
+
const rates = denomination
|
|
255
|
+
? await Valuation.rateSet(c, oracle)
|
|
256
|
+
.then((rates) => {
|
|
257
|
+
if (denomination !== rates.base && rates.rates[denomination] === undefined)
|
|
258
|
+
throw new Valuation.UnsupportedDenominationError(denomination, oracle.name);
|
|
259
|
+
return rates;
|
|
260
|
+
})
|
|
261
|
+
.catch((cause) => {
|
|
262
|
+
if (cause instanceof Valuation.UnsupportedDenominationError)
|
|
263
|
+
throw cause;
|
|
264
|
+
return undefined;
|
|
265
|
+
})
|
|
266
|
+
: undefined;
|
|
267
|
+
const snapshotPromise = VerifiedTokens.snapshot(c, chainId);
|
|
268
|
+
const resolvedTokenPromise = snapshotPromise.then((snapshot) => Timing.time(c, 'token', () => Tokens.resolveToken(c, { address: token, chainId, include: [], snapshot })));
|
|
269
|
+
const client = c.get('getClient')(chainId);
|
|
270
|
+
const caller = c.get('zones').has(chainId)
|
|
271
|
+
? (await client.zone.getZoneInfo()).sequencers[0]
|
|
272
|
+
: undefined;
|
|
273
|
+
const [balance, feeTokens, snapshot, resolvedToken] = await Promise.all([
|
|
266
274
|
Timing.time(c, 'balance_rpc', async () => {
|
|
267
|
-
const
|
|
275
|
+
const call = Actions.token.getBalance.call(client, {
|
|
268
276
|
account: address,
|
|
269
277
|
token,
|
|
270
278
|
});
|
|
271
|
-
return
|
|
279
|
+
return client.readContract({ ...call, account: caller });
|
|
272
280
|
}),
|
|
273
|
-
|
|
281
|
+
FeeAmm.feeTokenSet(c, chainId).catch(() => undefined),
|
|
282
|
+
snapshotPromise,
|
|
283
|
+
resolvedTokenPromise,
|
|
274
284
|
]);
|
|
275
|
-
const denomination = query['valuation.currency'] ?? 'USD';
|
|
276
|
-
const rates = await Valuation.ratesFor(c, {
|
|
277
|
-
currencies: snapshot.byAddress.has(token) ? [resolvedToken.currency] : [],
|
|
278
|
-
denomination,
|
|
279
|
-
oracle,
|
|
280
|
-
});
|
|
281
|
-
const feeTokens = await FeeAmm.feeTokenSet(c, chainId).catch(() => undefined);
|
|
282
285
|
return c.json(Response.validated(schema.getAddressBalance.Response, {
|
|
283
286
|
amount: balance.toString(),
|
|
284
287
|
currency: resolvedToken.currency,
|
|
@@ -287,12 +290,16 @@ export function addresses(options = {}) {
|
|
|
287
290
|
formatted: core_Value.format(balance, resolvedToken.decimals),
|
|
288
291
|
id: token,
|
|
289
292
|
token: resolvedToken,
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
293
|
+
...(denomination
|
|
294
|
+
? {
|
|
295
|
+
valuation: Valuation.valuationFor({
|
|
296
|
+
amount: balance,
|
|
297
|
+
denomination,
|
|
298
|
+
rates,
|
|
299
|
+
token: snapshot.byAddress.get(token),
|
|
300
|
+
}),
|
|
301
|
+
}
|
|
302
|
+
: {}),
|
|
296
303
|
}), 200);
|
|
297
304
|
}
|
|
298
305
|
catch (cause) {
|
|
@@ -309,12 +316,14 @@ export function addresses(options = {}) {
|
|
|
309
316
|
});
|
|
310
317
|
}
|
|
311
318
|
async function getAddressBalances(c, options) {
|
|
312
|
-
const { address, chainId, currency, denomination, feeEligible,
|
|
319
|
+
const { address, chainId, currency, denomination, feeEligible, includeTotalCount, limit, oracle, verified, } = options;
|
|
313
320
|
const tidx = c.get('getTidx')(chainId);
|
|
314
321
|
const cursor = options.cursor ? Cursor.decode(options.cursor, ['uint', 'address']) : undefined;
|
|
315
322
|
const offset = options.page !== undefined && options.page > 1 ? (options.page - 1) * limit : 0;
|
|
316
|
-
// Validate
|
|
317
|
-
|
|
323
|
+
// Validate an explicit denomination before balance discovery and correction
|
|
324
|
+
// so dependency failures cannot mask a caller error.
|
|
325
|
+
if (denomination)
|
|
326
|
+
await Valuation.ratesFor(c, { currencies: [], denomination, oracle });
|
|
318
327
|
// Build the optional `token IN (…)` restriction before hitting TIDX. The
|
|
319
328
|
// verified/`currency` filter and the `feeEligible` filter each contribute a set
|
|
320
329
|
// of allowed addresses (`currency` matched case-insensitively so callers can
|
|
@@ -322,16 +331,31 @@ async function getAddressBalances(c, options) {
|
|
|
322
331
|
// intersection. If any active filter rules every token out, return an empty
|
|
323
332
|
// page without a round trip. The snapshot is reused for the page enrichment
|
|
324
333
|
// below.
|
|
325
|
-
const
|
|
326
|
-
|
|
334
|
+
const snapshotPromise = VerifiedTokens.snapshot(c, chainId);
|
|
335
|
+
// Fee filtering can fail before the concurrently started snapshot is awaited.
|
|
336
|
+
// Observing this branch prevents an unhandled rejection; the later await still propagates it.
|
|
337
|
+
void snapshotPromise.catch(() => undefined);
|
|
338
|
+
const [snapshot_filter, feeTokens_filter] = await Promise.all([
|
|
339
|
+
verified ? snapshotPromise : Promise.resolve(undefined),
|
|
340
|
+
feeEligible ? FeeAmm.feeTokenSet(c, chainId) : Promise.resolve(undefined),
|
|
341
|
+
]);
|
|
342
|
+
const allowed = allowedTokens({
|
|
343
|
+
currency,
|
|
344
|
+
feeEligible,
|
|
345
|
+
feeTokens: feeTokens_filter,
|
|
346
|
+
snapshot: snapshot_filter,
|
|
347
|
+
verified,
|
|
348
|
+
});
|
|
327
349
|
const tokenFilter = allowed?.map((address) => `'${address}'`);
|
|
328
|
-
if (tokenFilter?.length === 0)
|
|
350
|
+
if (tokenFilter?.length === 0) {
|
|
351
|
+
await snapshotPromise;
|
|
329
352
|
return {
|
|
330
353
|
data: [],
|
|
331
354
|
...(includeTotalCount ? { meta: { totalCount: 0, totalCountCapped: false } } : {}),
|
|
332
355
|
nextCursor: null,
|
|
333
356
|
};
|
|
334
|
-
|
|
357
|
+
}
|
|
358
|
+
const holdingsPromise = Timing.time(c, 'balances_discovery', async () => {
|
|
335
359
|
const tokenIn = tokenFilter ? ` AND token IN (${tokenFilter.join(', ')})` : '';
|
|
336
360
|
const result = await tidx.fetch({
|
|
337
361
|
chainId,
|
|
@@ -349,33 +373,53 @@ async function getAddressBalances(c, options) {
|
|
|
349
373
|
return token.success ? [{ address: token.data }] : [];
|
|
350
374
|
});
|
|
351
375
|
});
|
|
352
|
-
|
|
376
|
+
// Correction starts as soon as discovery completes. Snapshot and fee-token
|
|
377
|
+
// cache misses continue concurrently until enrichment needs their results.
|
|
378
|
+
const correctedPromise = holdingsPromise.then(async (holdings) => {
|
|
379
|
+
if (holdings.length === 0)
|
|
380
|
+
return [];
|
|
381
|
+
const client = c.get('getClient')(chainId);
|
|
382
|
+
const caller = c.get('zones').has(chainId)
|
|
383
|
+
? (await client.zone.getZoneInfo()).sequencers[0]
|
|
384
|
+
: undefined;
|
|
385
|
+
return Timing.time(c, 'balances_rpc', async () => {
|
|
386
|
+
// Concurrent reads enter viem's shared batch window and become one
|
|
387
|
+
// deployless multicall. A failed read fails the request rather than serving
|
|
388
|
+
// a stale or partial balance page.
|
|
389
|
+
const results = await Promise.all(holdings.map(async (holding) => {
|
|
390
|
+
const call = Actions.token.getBalance.call(client, {
|
|
391
|
+
account: address,
|
|
392
|
+
token: holding.address,
|
|
393
|
+
});
|
|
394
|
+
const amount = await client.readContract({ ...call, account: caller });
|
|
395
|
+
return amount === 0n ? undefined : { address: holding.address, amount: amount.toString() };
|
|
396
|
+
}));
|
|
397
|
+
const rows = results.filter((holding) => holding !== undefined);
|
|
398
|
+
rows.sort((a, b) => {
|
|
399
|
+
const delta = BigInt(b.amount) - BigInt(a.amount);
|
|
400
|
+
if (delta !== 0n)
|
|
401
|
+
return delta > 0n ? 1 : -1;
|
|
402
|
+
return a.address < b.address ? -1 : a.address > b.address ? 1 : 0;
|
|
403
|
+
});
|
|
404
|
+
return rows;
|
|
405
|
+
});
|
|
406
|
+
});
|
|
407
|
+
const feeTokensPromise = feeEligible
|
|
408
|
+
? Promise.resolve(feeTokens_filter)
|
|
409
|
+
: holdingsPromise.then((holdings) => holdings.length === 0 ? undefined : FeeAmm.feeTokenSet(c, chainId).catch(() => undefined));
|
|
410
|
+
const [holdings, snapshot, feeTokens, corrected] = await Promise.all([
|
|
411
|
+
holdingsPromise,
|
|
412
|
+
snapshotPromise,
|
|
413
|
+
feeTokensPromise,
|
|
414
|
+
correctedPromise,
|
|
415
|
+
]);
|
|
416
|
+
if (holdings.length === 0) {
|
|
353
417
|
return {
|
|
354
418
|
data: [],
|
|
355
419
|
...(includeTotalCount ? { meta: { totalCount: 0, totalCountCapped: false } } : {}),
|
|
356
420
|
nextCursor: null,
|
|
357
421
|
};
|
|
358
|
-
|
|
359
|
-
const corrected = await Timing.time(c, 'balances_rpc', async () => {
|
|
360
|
-
// Concurrent reads enter viem's shared batch window and become one
|
|
361
|
-
// deployless multicall. A failed read fails the request rather than serving
|
|
362
|
-
// a stale or partial balance page.
|
|
363
|
-
const results = await Promise.all(holdings.map(async (holding) => {
|
|
364
|
-
const { amount } = await Actions.token.getBalance(client, {
|
|
365
|
-
account: address,
|
|
366
|
-
token: holding.address,
|
|
367
|
-
});
|
|
368
|
-
return amount === 0n ? undefined : { address: holding.address, amount: amount.toString() };
|
|
369
|
-
}));
|
|
370
|
-
const rows = results.filter((holding) => holding !== undefined);
|
|
371
|
-
rows.sort((a, b) => {
|
|
372
|
-
const delta = BigInt(b.amount) - BigInt(a.amount);
|
|
373
|
-
if (delta !== 0n)
|
|
374
|
-
return delta > 0n ? 1 : -1;
|
|
375
|
-
return a.address < b.address ? -1 : a.address > b.address ? 1 : 0;
|
|
376
|
-
});
|
|
377
|
-
return rows;
|
|
378
|
-
});
|
|
422
|
+
}
|
|
379
423
|
const positioned = (() => {
|
|
380
424
|
if (!cursor)
|
|
381
425
|
return corrected.slice(offset);
|
|
@@ -389,7 +433,7 @@ async function getAddressBalances(c, options) {
|
|
|
389
433
|
limit,
|
|
390
434
|
key: (holding) => [holding.amount, holding.address],
|
|
391
435
|
});
|
|
392
|
-
if (page.rows.length === 0)
|
|
436
|
+
if (page.rows.length === 0) {
|
|
393
437
|
return {
|
|
394
438
|
data: [],
|
|
395
439
|
...(includeTotalCount
|
|
@@ -397,18 +441,31 @@ async function getAddressBalances(c, options) {
|
|
|
397
441
|
: {}),
|
|
398
442
|
nextCursor: page.nextCursor,
|
|
399
443
|
};
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
444
|
+
}
|
|
445
|
+
const ratesPromise = denomination
|
|
446
|
+
? Valuation.ratesFor(c, {
|
|
447
|
+
currencies: page.rows.flatMap((row) => {
|
|
448
|
+
const held = snapshot.byAddress.get(row.address.toLowerCase())?.currency;
|
|
449
|
+
return held === undefined ? [] : [held];
|
|
450
|
+
}),
|
|
451
|
+
denomination,
|
|
452
|
+
oracle,
|
|
453
|
+
})
|
|
454
|
+
: Promise.resolve(undefined);
|
|
408
455
|
// Balance tokens retain their logo and verification metadata by default.
|
|
409
|
-
const
|
|
456
|
+
const resolvedPromise = Timing.time(c, 'tokens', () => Promise.all(page.rows.map(async (holding) => {
|
|
410
457
|
try {
|
|
411
458
|
const token = Schema.Address.parse(holding.address.toLowerCase());
|
|
459
|
+
const verifiedToken = snapshot.byAddress.get(token);
|
|
460
|
+
// The curated list owns verified-token metadata, but uploaded logos live only in the asset store.
|
|
461
|
+
if (verifiedToken)
|
|
462
|
+
return {
|
|
463
|
+
amount: holding.amount,
|
|
464
|
+
logoUri: verifiedToken.logoUri ??
|
|
465
|
+
(await Timing.time(c, 'token_logo', () => Tokens.getTokenLogo(c, { address: token, chainId })).catch(() => undefined)),
|
|
466
|
+
metadata: verifiedToken,
|
|
467
|
+
token,
|
|
468
|
+
};
|
|
412
469
|
const [logoUri, metadata] = await Promise.all([
|
|
413
470
|
Timing.time(c, 'token_logo', () => Tokens.getTokenLogo(c, { address: token, chainId })).catch(() => undefined),
|
|
414
471
|
Timing.time(c, 'token_metadata', () => Tokens.getTokenMetadata(c, { address: token, chainId })),
|
|
@@ -419,6 +476,7 @@ async function getAddressBalances(c, options) {
|
|
|
419
476
|
return undefined;
|
|
420
477
|
}
|
|
421
478
|
})));
|
|
479
|
+
const [rates, resolved] = await Promise.all([ratesPromise, resolvedPromise]);
|
|
422
480
|
const data = [];
|
|
423
481
|
for (const entry of resolved) {
|
|
424
482
|
if (!entry)
|
|
@@ -442,12 +500,16 @@ async function getAddressBalances(c, options) {
|
|
|
442
500
|
symbol: entry.metadata.symbol,
|
|
443
501
|
verified: snapshot.byAddress.has(entry.token),
|
|
444
502
|
},
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
503
|
+
...(denomination
|
|
504
|
+
? {
|
|
505
|
+
valuation: Valuation.valuationFor({
|
|
506
|
+
amount: BigInt(entry.amount),
|
|
507
|
+
denomination,
|
|
508
|
+
rates,
|
|
509
|
+
token: snapshot.byAddress.get(entry.token),
|
|
510
|
+
}),
|
|
511
|
+
}
|
|
512
|
+
: {}),
|
|
451
513
|
});
|
|
452
514
|
}
|
|
453
515
|
const meta = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../../src/apps/data/routes/balances.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../../src/apps/data/routes/balances.ts"],"names":[],"mappings":"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"}
|