tapimo 0.8.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.d.ts +7410 -7613
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +0 -1
- 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/apps/verified-tokens.d.ts +74 -74
- package/dist/apps/Zones.d.ts +34 -22
- package/dist/apps/Zones.d.ts.map +1 -1
- package/dist/apps/Zones.js +9 -8
- package/dist/apps/Zones.js.map +1 -1
- package/dist/apps/data/App.d.ts +3120 -2782
- 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.map +1 -1
- package/dist/apps/data/routes/activities.js +32 -27
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +283 -52
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.d.ts +291 -21
- package/dist/apps/data/routes/balances.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.js +232 -66
- 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/coingecko.d.ts +54 -54
- package/dist/apps/data/routes/earn.d.ts +642 -126
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +627 -58
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts +120 -120
- 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/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/tokens.d.ts +2 -0
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/transactions.d.ts +59 -51
- 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 +40 -18
- 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/verified-tokens.d.ts +37 -37
- package/dist/apps/data/routes/webhooks.d.ts +102 -505
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +484 -342
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +12 -12
- package/dist/apps/data/routes/zones.d.ts.map +1 -1
- package/dist/apps/data/routes/zones.js +3 -1
- package/dist/apps/data/routes/zones.js.map +1 -1
- package/dist/apps/funding/App.d.ts +127 -386
- package/dist/apps/funding/App.d.ts.map +1 -1
- package/dist/apps/funding/App.js +20 -5
- package/dist/apps/funding/App.js.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.d.ts +141 -532
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.js +21 -103
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
- package/dist/apps/funding/routes/transfers.d.ts +4 -4
- package/dist/apps/funding/routes/transfers.js +5 -5
- package/dist/apps/funding/routes/transfers.js.map +1 -1
- package/dist/apps/management/App.d.ts +429 -727
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +24 -24
- package/dist/apps/management/routes/billing.d.ts +72 -72
- package/dist/apps/management/routes/faucet.d.ts +6 -6
- package/dist/apps/management/routes/invite-links.d.ts +38 -38
- package/dist/apps/management/routes/me.d.ts +6 -6
- package/dist/apps/management/routes/members.d.ts +30 -30
- package/dist/apps/management/routes/projects.d.ts +20 -20
- package/dist/apps/management/routes/usage.d.ts +24 -24
- package/dist/apps/management/routes/webhooks.d.ts +158 -573
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/mpp/App.d.ts +12 -0
- 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 +2 -2
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +25 -15
- package/dist/db/Db.js.map +1 -1
- package/dist/db/tables/fundingDeposits.d.ts +18 -1
- package/dist/db/tables/fundingDeposits.d.ts.map +1 -1
- package/dist/db/tables/fundingDeposits.js +46 -2
- package/dist/db/tables/fundingDeposits.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/webhookSubscriptions.d.ts +56 -3
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +76 -3
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/internal/Auth.d.ts +4 -0
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +11 -2
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/MetricSink.d.ts +112 -3
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +116 -3
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/Schema.js +1 -1
- package/dist/internal/Schema.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/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 +55 -0
- package/dist/internal/WebhookTransfer.d.ts.map +1 -0
- package/dist/internal/WebhookTransfer.js +296 -0
- package/dist/internal/WebhookTransfer.js.map +1 -0
- package/dist/internal/Webhooks.d.ts +37 -0
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +87 -13
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/funding/Provider.d.ts +10 -6
- 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 +229 -16
- package/dist/internal/funding/Reconciliation.js.map +1 -1
- package/dist/internal/funding/providers/relay.d.ts +3 -0
- package/dist/internal/funding/providers/relay.d.ts.map +1 -1
- package/dist/internal/funding/providers/relay.js +18 -3
- package/dist/internal/funding/providers/relay.js.map +1 -1
- package/package.json +3 -3
- package/src/App.test.ts +32 -0
- package/src/App.ts +4 -1
- package/src/Client.test-d.ts +116 -38
- 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 +83 -29
- package/src/apps/Zones.test.ts +5 -4
- package/src/apps/Zones.ts +9 -8
- package/src/apps/composition.test.ts +39 -10
- package/src/apps/data/FxOracle.test.ts +18 -0
- package/src/apps/data/FxOracle.ts +28 -5
- package/src/apps/data/routes/activities.test.ts +19 -0
- package/src/apps/data/routes/activities.ts +34 -30
- package/src/apps/data/routes/balances.test.ts +161 -10
- package/src/apps/data/routes/balances.ts +339 -147
- package/src/apps/data/routes/blocks.test.ts +12 -6
- package/src/apps/data/routes/earn.test.ts +286 -9
- package/src/apps/data/routes/earn.ts +841 -58
- package/src/apps/data/routes/exchanges.test.ts +7 -6
- package/src/apps/data/routes/exchanges.ts +124 -117
- package/src/apps/data/routes/receipts.test.ts +24 -7
- package/src/apps/data/routes/receipts.ts +67 -50
- package/src/apps/data/routes/tokens.test.ts +51 -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.test.ts +402 -24
- package/src/apps/data/routes/transfers.ts +708 -101
- package/src/apps/data/routes/valuation.test.ts +26 -0
- package/src/apps/data/routes/valuation.ts +6 -2
- package/src/apps/data/routes/webhooks.test.ts +414 -130
- package/src/apps/data/routes/webhooks.ts +603 -419
- package/src/apps/data/routes/zones.ts +6 -1
- package/src/apps/funding/App.ts +20 -5
- package/src/apps/funding/routes/deposit-addresses.test.ts +43 -22
- package/src/apps/funding/routes/deposit-addresses.ts +34 -117
- package/src/apps/funding/routes/quotes.test.ts +1 -1
- package/src/apps/funding/routes/transfers.test.ts +6 -25
- package/src/apps/funding/routes/transfers.ts +5 -5
- 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 +42 -19
- package/src/db/tables/fundingDeposits.test.ts +101 -0
- package/src/db/tables/fundingDeposits.ts +71 -2
- package/src/db/tables/sponsoredTransactions.ts +9 -2
- package/src/db/tables/webhookSubscriptions.ts +116 -4
- package/src/internal/Auth.test.ts +28 -0
- package/src/internal/Auth.ts +15 -1
- package/src/internal/EarnVaults.test.ts +2 -2
- package/src/internal/MetricSink.test.ts +518 -0
- package/src/internal/MetricSink.ts +266 -9
- package/src/internal/Schema.ts +1 -1
- package/src/internal/Tidx.test.ts +4 -4
- package/src/internal/Tidx.ts +1 -3
- 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.ts +426 -0
- package/src/internal/Webhooks.test.ts +137 -0
- package/src/internal/Webhooks.ts +131 -17
- package/src/internal/funding/Provider.test.ts +47 -7
- package/src/internal/funding/Provider.ts +16 -11
- package/src/internal/funding/Reconciliation.local.test.ts +3 -1
- package/src/internal/funding/Reconciliation.test.ts +1532 -54
- package/src/internal/funding/Reconciliation.ts +296 -53
- package/src/internal/funding/SourceObservation.test.ts +3 -2
- package/src/internal/funding/providers/relay.test.ts +1 -4
- package/src/internal/funding/providers/relay.ts +23 -3
|
@@ -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
|
|
@@ -111,21 +112,43 @@ export var schema;
|
|
|
111
112
|
})
|
|
112
113
|
.check(z.describe('A page of TIP-20 token balances held by this account.'));
|
|
113
114
|
})(getAddressBalances = schema.getAddressBalances || (schema.getAddressBalances = {}));
|
|
115
|
+
/** Schemas for the getAddressBalance operation. */
|
|
116
|
+
let getAddressBalance;
|
|
117
|
+
(function (getAddressBalance) {
|
|
118
|
+
/** Path parameters for a single address balance request. */
|
|
119
|
+
getAddressBalance.Params = z
|
|
120
|
+
.object({
|
|
121
|
+
address: Schema.Address.check(z.describe('The account address whose token balance you want to read.')),
|
|
122
|
+
token: Schema.TokenAddress.check(z.describe('The TIP-20 token contract address.')),
|
|
123
|
+
})
|
|
124
|
+
.check(z.describe('Path parameters for reading one account token balance.'));
|
|
125
|
+
/** Query parameters for a single address balance request. */
|
|
126
|
+
getAddressBalance.Query = z
|
|
127
|
+
.strictObject({
|
|
128
|
+
chainId: Schema.ChainIdQuery,
|
|
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.')),
|
|
131
|
+
})
|
|
132
|
+
.check(z.describe('Query parameters for reading one account token balance.'));
|
|
133
|
+
/** A single TIP-20 token balance held by an address. */
|
|
134
|
+
getAddressBalance.Response = getAddressBalances.Balance.check(z.describe('One TIP-20 token balance held by this account.'));
|
|
135
|
+
})(getAddressBalance = schema.getAddressBalance || (schema.getAddressBalance = {}));
|
|
114
136
|
})(schema || (schema = {}));
|
|
115
137
|
/**
|
|
116
138
|
* Creates address-scoped balance handlers, mounted under the `/addresses`
|
|
117
|
-
* composer. Exposes
|
|
139
|
+
* composer. Exposes the held-balance page and individual token balances.
|
|
118
140
|
*/
|
|
119
141
|
export function addresses(options = {}) {
|
|
120
142
|
const oracle = options.fx?.oracle ?? FxOracle.ecb();
|
|
121
|
-
return new Hono()
|
|
143
|
+
return new Hono()
|
|
144
|
+
.get('/v1/addresses/:address/balances', Auth.policy({ apiKey: { scopes: ['data:read'] }, mpp: true, public: true }), OpenApi.validate('param', schema.getAddressBalances.Params, {
|
|
122
145
|
code: 'address_invalid',
|
|
123
146
|
message: 'Invalid account address',
|
|
124
147
|
}), OpenApi.validate('query', schema.getAddressBalances.Query, {
|
|
125
148
|
code: 'query_invalid',
|
|
126
149
|
message: 'Invalid query parameters',
|
|
127
150
|
}), OpenApi.describeRoute({
|
|
128
|
-
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.',
|
|
129
152
|
operationId: 'getAddressBalances',
|
|
130
153
|
responses: OpenApi.responses({
|
|
131
154
|
errors: { 502: 'Could not read balance or token data from an upstream service.' },
|
|
@@ -161,26 +184,13 @@ export function addresses(options = {}) {
|
|
|
161
184
|
// `verified=true` from the caller's perspective.
|
|
162
185
|
const verified = query.verified || query.currency !== undefined;
|
|
163
186
|
const feeEligible = query.feeEligible ?? false;
|
|
164
|
-
// The fee-token set powers both the per-row `feeEligible` flag (always)
|
|
165
|
-
// and the optional `feeEligible=true` page restriction. It is memoized
|
|
166
|
-
// per chain (a near-constant), so one read feeds the page, the count,
|
|
167
|
-
// and the row enrichment. It is a best-effort enrichment: a lookup
|
|
168
|
-
// failure omits `feeEligible` rather than failing the page — unless the
|
|
169
|
-
// caller explicitly asked to filter by `feeEligible`, where the filter
|
|
170
|
-
// can't be honored, so the failure surfaces as the declared `502`.
|
|
171
|
-
const feeTokens = await FeeAmm.feeTokenSet(c, chainId).catch((cause) => {
|
|
172
|
-
if (feeEligible)
|
|
173
|
-
throw cause;
|
|
174
|
-
return undefined;
|
|
175
|
-
});
|
|
176
187
|
const balances = await getAddressBalances(c, {
|
|
177
188
|
address,
|
|
178
189
|
chainId,
|
|
179
190
|
currency: query.currency,
|
|
180
191
|
cursor: query.cursor,
|
|
181
|
-
denomination: query['valuation.currency']
|
|
192
|
+
denomination: query['valuation.currency'],
|
|
182
193
|
feeEligible,
|
|
183
|
-
feeTokens,
|
|
184
194
|
includeTotalCount: query.include.includes('totalCount'),
|
|
185
195
|
limit: query.limit,
|
|
186
196
|
oracle,
|
|
@@ -194,15 +204,122 @@ export function addresses(options = {}) {
|
|
|
194
204
|
return Response.error(c, { code: 'query_invalid', message: cause.message, status: 400 });
|
|
195
205
|
return Response.upstream(c, cause);
|
|
196
206
|
}
|
|
207
|
+
})
|
|
208
|
+
.get('/v1/addresses/:address/balances/:token', Auth.policy({ apiKey: { scopes: ['data:read'] }, mpp: true, public: true }), OpenApi.validate('param', schema.getAddressBalance.Params, {
|
|
209
|
+
code: 'address_invalid',
|
|
210
|
+
message: 'Invalid address or token address',
|
|
211
|
+
}), OpenApi.validate('query', schema.getAddressBalance.Query, {
|
|
212
|
+
code: 'query_invalid',
|
|
213
|
+
message: 'Invalid query parameters',
|
|
214
|
+
}), OpenApi.describeRoute({
|
|
215
|
+
description: 'Returns the live balance of one TIP-20 token held by an account, including token metadata and a human-readable amount.',
|
|
216
|
+
operationId: 'getAddressBalance',
|
|
217
|
+
responses: OpenApi.responses({
|
|
218
|
+
errors: {
|
|
219
|
+
404: {
|
|
220
|
+
description: 'The token is not a registered TIP-20 token.',
|
|
221
|
+
codes: ['token_not_found'],
|
|
222
|
+
},
|
|
223
|
+
502: 'Could not read balance or token data from an upstream service.',
|
|
224
|
+
},
|
|
225
|
+
success: {
|
|
226
|
+
description: 'The requested token balance for this account.',
|
|
227
|
+
schema: schema.getAddressBalance.Response,
|
|
228
|
+
},
|
|
229
|
+
}),
|
|
230
|
+
summary: 'Get address balance',
|
|
231
|
+
tags: ['Balances'],
|
|
232
|
+
}), Cache.response({
|
|
233
|
+
cacheControl: Cache.policies.noStore,
|
|
234
|
+
name: 'tempo-api:addresses:v1',
|
|
235
|
+
key: (c) => Cache.urlKey(c, schema.getAddressBalance.Query),
|
|
236
|
+
}), async (c) => {
|
|
237
|
+
if (Auth.narrowAccess)
|
|
238
|
+
return Auth.paidAccessError(c);
|
|
239
|
+
if (OpenApi.narrowValidation)
|
|
240
|
+
return OpenApi.validationError(c, {
|
|
241
|
+
code: 'address_invalid',
|
|
242
|
+
message: 'Invalid request parameters',
|
|
243
|
+
});
|
|
244
|
+
if (OpenApi.narrowValidation)
|
|
245
|
+
return OpenApi.validationError(c, {
|
|
246
|
+
code: 'query_invalid',
|
|
247
|
+
message: 'Invalid request parameters',
|
|
248
|
+
});
|
|
249
|
+
const { address, token } = c.req.valid('param');
|
|
250
|
+
const query = c.req.valid('query');
|
|
251
|
+
const chainId = query.chainId ?? c.get('chainId');
|
|
252
|
+
const denomination = query['valuation.currency'];
|
|
253
|
+
try {
|
|
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 [balance, feeTokens, snapshot, resolvedToken] = await Promise.all([
|
|
270
|
+
Timing.time(c, 'balance_rpc', async () => {
|
|
271
|
+
const result = await Actions.token.getBalance(c.get('getClient')(chainId), {
|
|
272
|
+
account: address,
|
|
273
|
+
token,
|
|
274
|
+
});
|
|
275
|
+
return result.amount;
|
|
276
|
+
}),
|
|
277
|
+
FeeAmm.feeTokenSet(c, chainId).catch(() => undefined),
|
|
278
|
+
snapshotPromise,
|
|
279
|
+
resolvedTokenPromise,
|
|
280
|
+
]);
|
|
281
|
+
return c.json(Response.validated(schema.getAddressBalance.Response, {
|
|
282
|
+
amount: balance.toString(),
|
|
283
|
+
currency: resolvedToken.currency,
|
|
284
|
+
decimals: resolvedToken.decimals,
|
|
285
|
+
...(feeTokens ? { feeEligible: feeTokens.has(token) } : {}),
|
|
286
|
+
formatted: core_Value.format(balance, resolvedToken.decimals),
|
|
287
|
+
id: token,
|
|
288
|
+
token: resolvedToken,
|
|
289
|
+
...(denomination
|
|
290
|
+
? {
|
|
291
|
+
valuation: Valuation.valuationFor({
|
|
292
|
+
amount: balance,
|
|
293
|
+
denomination,
|
|
294
|
+
rates,
|
|
295
|
+
token: snapshot.byAddress.get(token),
|
|
296
|
+
}),
|
|
297
|
+
}
|
|
298
|
+
: {}),
|
|
299
|
+
}), 200);
|
|
300
|
+
}
|
|
301
|
+
catch (cause) {
|
|
302
|
+
if (Tokens.isTokenNotFound(cause))
|
|
303
|
+
return Response.error(c, {
|
|
304
|
+
code: 'token_not_found',
|
|
305
|
+
message: 'Token not found',
|
|
306
|
+
status: 404,
|
|
307
|
+
});
|
|
308
|
+
if (cause instanceof Valuation.UnsupportedDenominationError)
|
|
309
|
+
return Response.error(c, { code: 'query_invalid', message: cause.message, status: 400 });
|
|
310
|
+
return Response.upstream(c, cause);
|
|
311
|
+
}
|
|
197
312
|
});
|
|
198
313
|
}
|
|
199
314
|
async function getAddressBalances(c, options) {
|
|
200
|
-
const { address, chainId, currency, denomination, feeEligible,
|
|
315
|
+
const { address, chainId, currency, denomination, feeEligible, includeTotalCount, limit, oracle, verified, } = options;
|
|
201
316
|
const tidx = c.get('getTidx')(chainId);
|
|
202
317
|
const cursor = options.cursor ? Cursor.decode(options.cursor, ['uint', 'address']) : undefined;
|
|
203
318
|
const offset = options.page !== undefined && options.page > 1 ? (options.page - 1) * limit : 0;
|
|
204
|
-
// Validate
|
|
205
|
-
|
|
319
|
+
// Validate an explicit denomination before balance discovery and correction
|
|
320
|
+
// so dependency failures cannot mask a caller error.
|
|
321
|
+
if (denomination)
|
|
322
|
+
await Valuation.ratesFor(c, { currencies: [], denomination, oracle });
|
|
206
323
|
// Build the optional `token IN (…)` restriction before hitting TIDX. The
|
|
207
324
|
// verified/`currency` filter and the `feeEligible` filter each contribute a set
|
|
208
325
|
// of allowed addresses (`currency` matched case-insensitively so callers can
|
|
@@ -210,16 +327,31 @@ async function getAddressBalances(c, options) {
|
|
|
210
327
|
// intersection. If any active filter rules every token out, return an empty
|
|
211
328
|
// page without a round trip. The snapshot is reused for the page enrichment
|
|
212
329
|
// below.
|
|
213
|
-
const
|
|
214
|
-
|
|
330
|
+
const snapshotPromise = VerifiedTokens.snapshot(c, chainId);
|
|
331
|
+
// Fee filtering can fail before the concurrently started snapshot is awaited.
|
|
332
|
+
// Observing this branch prevents an unhandled rejection; the later await still propagates it.
|
|
333
|
+
void snapshotPromise.catch(() => undefined);
|
|
334
|
+
const [snapshot_filter, feeTokens_filter] = await Promise.all([
|
|
335
|
+
verified ? snapshotPromise : Promise.resolve(undefined),
|
|
336
|
+
feeEligible ? FeeAmm.feeTokenSet(c, chainId) : Promise.resolve(undefined),
|
|
337
|
+
]);
|
|
338
|
+
const allowed = allowedTokens({
|
|
339
|
+
currency,
|
|
340
|
+
feeEligible,
|
|
341
|
+
feeTokens: feeTokens_filter,
|
|
342
|
+
snapshot: snapshot_filter,
|
|
343
|
+
verified,
|
|
344
|
+
});
|
|
215
345
|
const tokenFilter = allowed?.map((address) => `'${address}'`);
|
|
216
|
-
if (tokenFilter?.length === 0)
|
|
346
|
+
if (tokenFilter?.length === 0) {
|
|
347
|
+
await snapshotPromise;
|
|
217
348
|
return {
|
|
218
349
|
data: [],
|
|
219
350
|
...(includeTotalCount ? { meta: { totalCount: 0, totalCountCapped: false } } : {}),
|
|
220
351
|
nextCursor: null,
|
|
221
352
|
};
|
|
222
|
-
|
|
353
|
+
}
|
|
354
|
+
const holdingsPromise = Timing.time(c, 'balances_discovery', async () => {
|
|
223
355
|
const tokenIn = tokenFilter ? ` AND token IN (${tokenFilter.join(', ')})` : '';
|
|
224
356
|
const result = await tidx.fetch({
|
|
225
357
|
chainId,
|
|
@@ -237,33 +369,49 @@ async function getAddressBalances(c, options) {
|
|
|
237
369
|
return token.success ? [{ address: token.data }] : [];
|
|
238
370
|
});
|
|
239
371
|
});
|
|
240
|
-
|
|
372
|
+
// Correction starts as soon as discovery completes. Snapshot and fee-token
|
|
373
|
+
// cache misses continue concurrently until enrichment needs their results.
|
|
374
|
+
const correctedPromise = holdingsPromise.then(async (holdings) => {
|
|
375
|
+
if (holdings.length === 0)
|
|
376
|
+
return [];
|
|
377
|
+
const client = c.get('getClient')(chainId);
|
|
378
|
+
return Timing.time(c, 'balances_rpc', async () => {
|
|
379
|
+
// Concurrent reads enter viem's shared batch window and become one
|
|
380
|
+
// deployless multicall. A failed read fails the request rather than serving
|
|
381
|
+
// a stale or partial balance page.
|
|
382
|
+
const results = await Promise.all(holdings.map(async (holding) => {
|
|
383
|
+
const { amount } = await Actions.token.getBalance(client, {
|
|
384
|
+
account: address,
|
|
385
|
+
token: holding.address,
|
|
386
|
+
});
|
|
387
|
+
return amount === 0n ? undefined : { address: holding.address, amount: amount.toString() };
|
|
388
|
+
}));
|
|
389
|
+
const rows = results.filter((holding) => holding !== undefined);
|
|
390
|
+
rows.sort((a, b) => {
|
|
391
|
+
const delta = BigInt(b.amount) - BigInt(a.amount);
|
|
392
|
+
if (delta !== 0n)
|
|
393
|
+
return delta > 0n ? 1 : -1;
|
|
394
|
+
return a.address < b.address ? -1 : a.address > b.address ? 1 : 0;
|
|
395
|
+
});
|
|
396
|
+
return rows;
|
|
397
|
+
});
|
|
398
|
+
});
|
|
399
|
+
const feeTokensPromise = feeEligible
|
|
400
|
+
? Promise.resolve(feeTokens_filter)
|
|
401
|
+
: holdingsPromise.then((holdings) => holdings.length === 0 ? undefined : FeeAmm.feeTokenSet(c, chainId).catch(() => undefined));
|
|
402
|
+
const [holdings, snapshot, feeTokens, corrected] = await Promise.all([
|
|
403
|
+
holdingsPromise,
|
|
404
|
+
snapshotPromise,
|
|
405
|
+
feeTokensPromise,
|
|
406
|
+
correctedPromise,
|
|
407
|
+
]);
|
|
408
|
+
if (holdings.length === 0) {
|
|
241
409
|
return {
|
|
242
410
|
data: [],
|
|
243
411
|
...(includeTotalCount ? { meta: { totalCount: 0, totalCountCapped: false } } : {}),
|
|
244
412
|
nextCursor: null,
|
|
245
413
|
};
|
|
246
|
-
|
|
247
|
-
const corrected = await Timing.time(c, 'balances_rpc', async () => {
|
|
248
|
-
// Concurrent reads enter viem's shared batch window and become one
|
|
249
|
-
// deployless multicall. A failed read fails the request rather than serving
|
|
250
|
-
// a stale or partial balance page.
|
|
251
|
-
const results = await Promise.all(holdings.map(async (holding) => {
|
|
252
|
-
const { amount } = await Actions.token.getBalance(client, {
|
|
253
|
-
account: address,
|
|
254
|
-
token: holding.address,
|
|
255
|
-
});
|
|
256
|
-
return amount === 0n ? undefined : { address: holding.address, amount: amount.toString() };
|
|
257
|
-
}));
|
|
258
|
-
const rows = results.filter((holding) => holding !== undefined);
|
|
259
|
-
rows.sort((a, b) => {
|
|
260
|
-
const delta = BigInt(b.amount) - BigInt(a.amount);
|
|
261
|
-
if (delta !== 0n)
|
|
262
|
-
return delta > 0n ? 1 : -1;
|
|
263
|
-
return a.address < b.address ? -1 : a.address > b.address ? 1 : 0;
|
|
264
|
-
});
|
|
265
|
-
return rows;
|
|
266
|
-
});
|
|
414
|
+
}
|
|
267
415
|
const positioned = (() => {
|
|
268
416
|
if (!cursor)
|
|
269
417
|
return corrected.slice(offset);
|
|
@@ -277,7 +425,7 @@ async function getAddressBalances(c, options) {
|
|
|
277
425
|
limit,
|
|
278
426
|
key: (holding) => [holding.amount, holding.address],
|
|
279
427
|
});
|
|
280
|
-
if (page.rows.length === 0)
|
|
428
|
+
if (page.rows.length === 0) {
|
|
281
429
|
return {
|
|
282
430
|
data: [],
|
|
283
431
|
...(includeTotalCount
|
|
@@ -285,18 +433,31 @@ async function getAddressBalances(c, options) {
|
|
|
285
433
|
: {}),
|
|
286
434
|
nextCursor: page.nextCursor,
|
|
287
435
|
};
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
436
|
+
}
|
|
437
|
+
const ratesPromise = denomination
|
|
438
|
+
? Valuation.ratesFor(c, {
|
|
439
|
+
currencies: page.rows.flatMap((row) => {
|
|
440
|
+
const held = snapshot.byAddress.get(row.address.toLowerCase())?.currency;
|
|
441
|
+
return held === undefined ? [] : [held];
|
|
442
|
+
}),
|
|
443
|
+
denomination,
|
|
444
|
+
oracle,
|
|
445
|
+
})
|
|
446
|
+
: Promise.resolve(undefined);
|
|
296
447
|
// Balance tokens retain their logo and verification metadata by default.
|
|
297
|
-
const
|
|
448
|
+
const resolvedPromise = Timing.time(c, 'tokens', () => Promise.all(page.rows.map(async (holding) => {
|
|
298
449
|
try {
|
|
299
450
|
const token = Schema.Address.parse(holding.address.toLowerCase());
|
|
451
|
+
const verifiedToken = snapshot.byAddress.get(token);
|
|
452
|
+
// The curated list owns verified-token metadata, but uploaded logos live only in the asset store.
|
|
453
|
+
if (verifiedToken)
|
|
454
|
+
return {
|
|
455
|
+
amount: holding.amount,
|
|
456
|
+
logoUri: verifiedToken.logoUri ??
|
|
457
|
+
(await Timing.time(c, 'token_logo', () => Tokens.getTokenLogo(c, { address: token, chainId })).catch(() => undefined)),
|
|
458
|
+
metadata: verifiedToken,
|
|
459
|
+
token,
|
|
460
|
+
};
|
|
300
461
|
const [logoUri, metadata] = await Promise.all([
|
|
301
462
|
Timing.time(c, 'token_logo', () => Tokens.getTokenLogo(c, { address: token, chainId })).catch(() => undefined),
|
|
302
463
|
Timing.time(c, 'token_metadata', () => Tokens.getTokenMetadata(c, { address: token, chainId })),
|
|
@@ -307,6 +468,7 @@ async function getAddressBalances(c, options) {
|
|
|
307
468
|
return undefined;
|
|
308
469
|
}
|
|
309
470
|
})));
|
|
471
|
+
const [rates, resolved] = await Promise.all([ratesPromise, resolvedPromise]);
|
|
310
472
|
const data = [];
|
|
311
473
|
for (const entry of resolved) {
|
|
312
474
|
if (!entry)
|
|
@@ -330,12 +492,16 @@ async function getAddressBalances(c, options) {
|
|
|
330
492
|
symbol: entry.metadata.symbol,
|
|
331
493
|
verified: snapshot.byAddress.has(entry.token),
|
|
332
494
|
},
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
495
|
+
...(denomination
|
|
496
|
+
? {
|
|
497
|
+
valuation: Valuation.valuationFor({
|
|
498
|
+
amount: BigInt(entry.amount),
|
|
499
|
+
denomination,
|
|
500
|
+
rates,
|
|
501
|
+
token: snapshot.byAddress.get(entry.token),
|
|
502
|
+
}),
|
|
503
|
+
}
|
|
504
|
+
: {}),
|
|
339
505
|
});
|
|
340
506
|
}
|
|
341
507
|
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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"}
|
|
@@ -801,14 +801,14 @@ export declare function blocksByTimestampCompat(): import("hono/hono-base").Hono
|
|
|
801
801
|
} | {
|
|
802
802
|
output: {
|
|
803
803
|
error: {
|
|
804
|
-
code: "
|
|
804
|
+
code: "chain_id_unsupported";
|
|
805
805
|
details?: readonly Response.error.Detail[] | undefined;
|
|
806
806
|
message: string;
|
|
807
807
|
};
|
|
808
808
|
requestId: string;
|
|
809
809
|
};
|
|
810
810
|
outputFormat: "json";
|
|
811
|
-
status:
|
|
811
|
+
status: 400;
|
|
812
812
|
input: {
|
|
813
813
|
param: {
|
|
814
814
|
chainId: string;
|
|
@@ -822,14 +822,14 @@ export declare function blocksByTimestampCompat(): import("hono/hono-base").Hono
|
|
|
822
822
|
} | {
|
|
823
823
|
output: {
|
|
824
824
|
error: {
|
|
825
|
-
code: "
|
|
825
|
+
code: "block_not_found";
|
|
826
826
|
details?: readonly Response.error.Detail[] | undefined;
|
|
827
827
|
message: string;
|
|
828
828
|
};
|
|
829
829
|
requestId: string;
|
|
830
830
|
};
|
|
831
831
|
outputFormat: "json";
|
|
832
|
-
status:
|
|
832
|
+
status: 404;
|
|
833
833
|
input: {
|
|
834
834
|
param: {
|
|
835
835
|
chainId: string;
|