tapimo 0.7.1 → 0.8.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/README.md +10 -7
- package/dist/ApiKey.d.ts +3 -0
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKey.js +10 -0
- package/dist/ApiKey.js.map +1 -1
- package/dist/ApiKeys.d.ts +29 -8
- package/dist/ApiKeys.d.ts.map +1 -1
- package/dist/ApiKeys.js +24 -5
- package/dist/ApiKeys.js.map +1 -1
- package/dist/App.d.ts +20680 -15487
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +250 -129
- package/dist/App.js.map +1 -1
- package/dist/Assets.d.ts +10 -0
- package/dist/Assets.d.ts.map +1 -1
- package/dist/Assets.js +17 -4
- package/dist/Assets.js.map +1 -1
- package/dist/Scope.d.ts +19 -8
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +25 -9
- package/dist/Scope.js.map +1 -1
- package/dist/Webhooks.d.ts +1 -1
- package/dist/admin/App.d.ts +667 -76
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/App.js +12 -2
- package/dist/admin/App.js.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +107 -11
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +145 -32
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/earn-vaults.d.ts +1069 -0
- package/dist/admin/apps/earn-vaults.d.ts.map +1 -0
- package/dist/admin/apps/earn-vaults.js +409 -0
- package/dist/admin/apps/earn-vaults.js.map +1 -0
- package/dist/admin/apps/organizations.d.ts +2 -0
- package/dist/admin/apps/organizations.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.d.ts +74 -74
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.d.ts.map +1 -1
- package/dist/admin/ui.generated.js +99 -43
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/analytics/Analytics.d.ts +4 -0
- package/dist/analytics/Analytics.d.ts.map +1 -1
- package/dist/analytics/Analytics.js +21 -2
- package/dist/analytics/Analytics.js.map +1 -1
- package/dist/analytics/tables/requestEvents.d.ts +22 -1
- package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
- package/dist/analytics/tables/requestEvents.js +59 -39
- package/dist/analytics/tables/requestEvents.js.map +1 -1
- package/dist/apps/Zones.d.ts +8335 -0
- package/dist/apps/Zones.d.ts.map +1 -0
- package/dist/apps/Zones.js +38 -0
- package/dist/apps/Zones.js.map +1 -0
- package/dist/apps/data/App.d.ts +5666 -3934
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +90 -22
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/FxOracle.d.ts +1 -1
- package/dist/apps/data/FxOracle.d.ts.map +1 -1
- package/dist/apps/data/index.d.ts +0 -1
- package/dist/apps/data/index.d.ts.map +1 -1
- package/dist/apps/data/index.js +0 -1
- package/dist/apps/data/index.js.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +56 -56
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +130 -65
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +65 -65
- package/dist/apps/data/routes/balances.d.ts +14 -14
- package/dist/apps/data/routes/balances.js +5 -5
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +39 -39
- package/dist/apps/data/routes/coingecko.d.ts +54 -54
- package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
- package/dist/apps/data/routes/coingecko.js +62 -35
- package/dist/apps/data/routes/coingecko.js.map +1 -1
- package/dist/apps/data/routes/earn.d.ts +2574 -0
- package/dist/apps/data/routes/earn.d.ts.map +1 -0
- package/dist/apps/data/routes/earn.js +1574 -0
- package/dist/apps/data/routes/earn.js.map +1 -0
- package/dist/apps/data/routes/exchanges.d.ts +1626 -719
- package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
- package/dist/apps/data/routes/exchanges.js +656 -193
- package/dist/apps/data/routes/exchanges.js.map +1 -1
- package/dist/apps/data/routes/fee-amm.d.ts +108 -108
- package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
- package/dist/apps/data/routes/fee-amm.js +59 -8
- package/dist/apps/data/routes/fee-amm.js.map +1 -1
- package/dist/apps/data/routes/indexer.d.ts +35 -35
- package/dist/apps/data/routes/indexer.d.ts.map +1 -1
- package/dist/apps/data/routes/indexer.js +23 -3
- package/dist/apps/data/routes/indexer.js.map +1 -1
- package/dist/apps/data/routes/receipts.d.ts +33 -33
- package/dist/apps/data/routes/receipts.d.ts.map +1 -1
- package/dist/apps/data/routes/receipts.js +11 -11
- package/dist/apps/data/routes/receipts.js.map +1 -1
- package/dist/apps/data/routes/rpc.d.ts +6 -6
- package/dist/apps/data/routes/rpc.d.ts.map +1 -1
- package/dist/apps/data/routes/rpc.js +214 -22
- package/dist/apps/data/routes/rpc.js.map +1 -1
- package/dist/apps/data/routes/tokenlist.d.ts +1 -1
- package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
- package/dist/apps/data/routes/tokenlist.js +39 -8
- package/dist/apps/data/routes/tokenlist.js.map +1 -1
- package/dist/apps/data/routes/tokens.d.ts +115 -87
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/tokens.js +194 -91
- package/dist/apps/data/routes/tokens.js.map +1 -1
- package/dist/apps/data/routes/transactions.d.ts +54 -54
- package/dist/apps/data/routes/transactions.d.ts.map +1 -1
- package/dist/apps/data/routes/transactions.js +78 -39
- package/dist/apps/data/routes/transactions.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts +76 -27
- package/dist/apps/data/routes/transfers.d.ts.map +1 -1
- package/dist/apps/data/routes/transfers.js +165 -67
- package/dist/apps/data/routes/transfers.js.map +1 -1
- package/dist/apps/data/routes/valuation.d.ts +42 -42
- 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 +36 -36
- package/dist/apps/data/routes/webhooks.d.ts +370 -368
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +161 -59
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +281 -0
- package/dist/apps/data/routes/zones.d.ts.map +1 -0
- package/dist/apps/data/routes/zones.js +252 -0
- package/dist/apps/data/routes/zones.js.map +1 -0
- package/dist/apps/docs/reference.js +6 -5
- package/dist/apps/docs/reference.js.map +1 -1
- package/dist/apps/funding/Access.d.ts +16 -0
- package/dist/apps/funding/Access.d.ts.map +1 -0
- package/dist/apps/funding/Access.js +22 -0
- package/dist/apps/funding/Access.js.map +1 -0
- package/dist/apps/funding/App.d.ts +3183 -0
- package/dist/apps/funding/App.d.ts.map +1 -0
- package/dist/apps/funding/App.js +46 -0
- package/dist/apps/funding/App.js.map +1 -0
- package/dist/apps/funding/Inventory.d.ts +5 -0
- package/dist/apps/funding/Inventory.d.ts.map +1 -0
- package/dist/apps/funding/Inventory.js +25 -0
- package/dist/apps/funding/Inventory.js.map +1 -0
- package/dist/apps/funding/ProviderAttempts.d.ts +5 -0
- package/dist/apps/funding/ProviderAttempts.d.ts.map +1 -0
- package/dist/apps/funding/ProviderAttempts.js +24 -0
- package/dist/apps/funding/ProviderAttempts.js.map +1 -0
- package/dist/apps/funding/index.d.ts +2 -0
- package/dist/apps/funding/index.d.ts.map +1 -0
- package/dist/apps/funding/index.js +2 -0
- package/dist/apps/funding/index.js.map +1 -0
- package/dist/apps/funding/routes/chains.d.ts +169 -0
- package/dist/apps/funding/routes/chains.d.ts.map +1 -0
- package/dist/apps/funding/routes/chains.js +80 -0
- package/dist/apps/funding/routes/chains.js.map +1 -0
- package/dist/apps/funding/routes/deposit-addresses.d.ts +2388 -0
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -0
- package/dist/apps/funding/routes/deposit-addresses.js +860 -0
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -0
- package/dist/apps/funding/routes/providers.d.ts +91 -0
- package/dist/apps/funding/routes/providers.d.ts.map +1 -0
- package/dist/apps/funding/routes/providers.js +56 -0
- package/dist/apps/funding/routes/providers.js.map +1 -0
- package/dist/apps/{data/routes/funding.d.ts → funding/routes/quotes.d.ts} +26 -396
- package/dist/apps/funding/routes/quotes.d.ts.map +1 -0
- package/dist/apps/funding/routes/quotes.js +188 -0
- package/dist/apps/funding/routes/quotes.js.map +1 -0
- package/dist/apps/funding/routes/transfers.d.ts +1999 -0
- package/dist/apps/funding/routes/transfers.d.ts.map +1 -0
- package/dist/apps/funding/routes/transfers.js +614 -0
- package/dist/apps/funding/routes/transfers.js.map +1 -0
- package/dist/apps/index.d.ts +3 -1
- package/dist/apps/index.d.ts.map +1 -1
- package/dist/apps/index.js +3 -1
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/management/App.d.ts +839 -574
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/Billing.d.ts +8 -0
- package/dist/apps/management/Billing.d.ts.map +1 -1
- package/dist/apps/management/Billing.js +12 -0
- package/dist/apps/management/Billing.js.map +1 -1
- package/dist/apps/management/Error.d.ts +12 -0
- package/dist/apps/management/Error.d.ts.map +1 -0
- package/dist/apps/management/Error.js +10 -0
- package/dist/apps/management/Error.js.map +1 -0
- package/dist/apps/management/routes/api-keys.d.ts +296 -19
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +77 -9
- package/dist/apps/management/routes/api-keys.js.map +1 -1
- package/dist/apps/management/routes/billing.d.ts +119 -119
- package/dist/apps/management/routes/faucet.d.ts +35 -35
- package/dist/apps/management/routes/invitations.d.ts +17 -17
- package/dist/apps/management/routes/invitations.d.ts.map +1 -1
- package/dist/apps/management/routes/invitations.js +4 -10
- package/dist/apps/management/routes/invitations.js.map +1 -1
- 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 +69 -69
- package/dist/apps/management/routes/orgs.d.ts +16 -16
- package/dist/apps/management/routes/orgs.d.ts.map +1 -1
- package/dist/apps/management/routes/orgs.js +2 -8
- package/dist/apps/management/routes/orgs.js.map +1 -1
- package/dist/apps/management/routes/projects.d.ts +19 -19
- package/dist/apps/management/routes/scopes.d.ts +1 -1
- package/dist/apps/management/routes/scopes.js +2 -2
- package/dist/apps/management/routes/scopes.js.map +1 -1
- package/dist/apps/management/routes/usage.d.ts +72 -72
- package/dist/apps/management/routes/verified-token-requests.d.ts +18 -18
- package/dist/apps/management/routes/webhooks.d.ts +122 -122
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/management/routes/webhooks.js +15 -3
- package/dist/apps/management/routes/webhooks.js.map +1 -1
- package/dist/apps/mcp.d.ts +2 -3
- package/dist/apps/mcp.d.ts.map +1 -1
- package/dist/apps/mcp.js +16 -14
- package/dist/apps/mcp.js.map +1 -1
- package/dist/apps/metadata.d.ts +4 -0
- package/dist/apps/metadata.d.ts.map +1 -1
- package/dist/apps/metadata.js +10 -0
- package/dist/apps/metadata.js.map +1 -1
- package/dist/apps/mpp/App.d.ts +57 -58
- package/dist/apps/mpp/App.d.ts.map +1 -1
- package/dist/apps/mpp/App.js +192 -27
- package/dist/apps/mpp/App.js.map +1 -1
- package/dist/apps/mpp/Mpp.d.ts +0 -20
- package/dist/apps/mpp/Mpp.d.ts.map +1 -1
- package/dist/apps/mpp/Mpp.js +0 -24
- package/dist/apps/mpp/Mpp.js.map +1 -1
- package/dist/apps/mpp/internal/Adapter.d.ts +40 -0
- package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -0
- package/dist/apps/mpp/internal/Adapter.js +66 -0
- package/dist/apps/mpp/internal/Adapter.js.map +1 -0
- package/dist/apps/mpp/internal/Error.d.ts +4 -0
- package/dist/apps/mpp/internal/Error.d.ts.map +1 -0
- package/dist/apps/mpp/internal/Error.js +41 -0
- package/dist/apps/mpp/internal/Error.js.map +1 -0
- package/dist/apps/mpp/internal/Idempotency.d.ts +33 -0
- package/dist/apps/mpp/internal/Idempotency.d.ts.map +1 -0
- package/dist/apps/mpp/internal/Idempotency.js +28 -0
- package/dist/apps/mpp/internal/Idempotency.js.map +1 -0
- package/dist/apps/mpp/internal/Policy.d.ts +46 -0
- package/dist/apps/mpp/internal/Policy.d.ts.map +1 -0
- package/dist/apps/mpp/internal/Policy.js +57 -0
- package/dist/apps/mpp/internal/Policy.js.map +1 -0
- package/dist/apps/mpp/internal/ScreenManager.d.ts +27 -0
- package/dist/apps/mpp/internal/ScreenManager.d.ts.map +1 -0
- package/dist/apps/mpp/internal/ScreenManager.js +18 -0
- package/dist/apps/mpp/internal/ScreenManager.js.map +1 -0
- package/dist/apps/mpp/internal/Screening.d.ts +35 -0
- package/dist/apps/mpp/internal/Screening.d.ts.map +1 -0
- package/dist/apps/mpp/internal/Screening.js +20 -0
- package/dist/apps/mpp/internal/Screening.js.map +1 -0
- package/dist/apps/mpp/internal/Sponsorship.d.ts +36 -0
- package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -0
- package/dist/apps/mpp/internal/Sponsorship.js +103 -0
- package/dist/apps/mpp/internal/Sponsorship.js.map +1 -0
- package/dist/apps/mpp/internal/Utils.d.ts +7 -0
- package/dist/apps/mpp/internal/Utils.d.ts.map +1 -0
- package/dist/apps/mpp/internal/Utils.js +24 -0
- package/dist/apps/mpp/internal/Utils.js.map +1 -0
- package/dist/apps/relay/App.js +183 -23
- package/dist/apps/relay/App.js.map +1 -1
- package/dist/apps/relay/Sponsorships.d.ts +4 -0
- package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
- package/dist/apps/relay/Sponsorships.js +15 -6
- package/dist/apps/relay/Sponsorships.js.map +1 -1
- package/dist/cloudflare.d.ts +50 -0
- package/dist/cloudflare.d.ts.map +1 -1
- package/dist/cloudflare.js +178 -0
- package/dist/cloudflare.js.map +1 -1
- package/dist/db/Db.d.ts +22 -0
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +379 -0
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +933 -1
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +289 -1
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/earnVaults.d.ts +68 -0
- package/dist/db/tables/earnVaults.d.ts.map +1 -0
- package/dist/db/tables/earnVaults.js +72 -0
- package/dist/db/tables/earnVaults.js.map +1 -0
- package/dist/db/tables/fundingCatalog.d.ts +56 -0
- package/dist/db/tables/fundingCatalog.d.ts.map +1 -0
- package/dist/db/tables/fundingCatalog.js +85 -0
- package/dist/db/tables/fundingCatalog.js.map +1 -0
- package/dist/db/tables/fundingDepositAddresses.d.ts +172 -0
- package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -0
- package/dist/db/tables/fundingDepositAddresses.js +218 -0
- package/dist/db/tables/fundingDepositAddresses.js.map +1 -0
- package/dist/db/tables/fundingDepositRequestObservations.d.ts +45 -0
- package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +1 -0
- package/dist/db/tables/fundingDepositRequestObservations.js +46 -0
- package/dist/db/tables/fundingDepositRequestObservations.js.map +1 -0
- package/dist/db/tables/fundingDeposits.d.ts +171 -0
- package/dist/db/tables/fundingDeposits.d.ts.map +1 -0
- package/dist/db/tables/fundingDeposits.js +182 -0
- package/dist/db/tables/fundingDeposits.js.map +1 -0
- package/dist/db/tables/fundingIdempotency.d.ts +91 -0
- package/dist/db/tables/fundingIdempotency.d.ts.map +1 -0
- package/dist/db/tables/fundingIdempotency.js +103 -0
- package/dist/db/tables/fundingIdempotency.js.map +1 -0
- package/dist/db/tables/fundingTransferEvents.d.ts +12 -0
- package/dist/db/tables/fundingTransferEvents.d.ts.map +1 -0
- package/dist/db/tables/fundingTransferEvents.js +18 -0
- package/dist/db/tables/fundingTransferEvents.js.map +1 -0
- package/dist/db/tables/fundingTransferTransactions.d.ts +15 -0
- package/dist/db/tables/fundingTransferTransactions.d.ts.map +1 -0
- package/dist/db/tables/fundingTransferTransactions.js +27 -0
- package/dist/db/tables/fundingTransferTransactions.js.map +1 -0
- package/dist/db/tables/fundingTransfers.d.ts +82 -0
- package/dist/db/tables/fundingTransfers.d.ts.map +1 -0
- package/dist/db/tables/fundingTransfers.js +89 -0
- package/dist/db/tables/fundingTransfers.js.map +1 -0
- package/dist/db/tables/organizations.d.ts +8 -0
- package/dist/db/tables/organizations.d.ts.map +1 -1
- package/dist/db/tables/organizations.js +16 -0
- package/dist/db/tables/organizations.js.map +1 -1
- package/dist/db/tables/projects.d.ts +8 -0
- package/dist/db/tables/projects.d.ts.map +1 -1
- package/dist/db/tables/projects.js +16 -0
- package/dist/db/tables/projects.js.map +1 -1
- package/dist/db/tables/requestUsage.d.ts +13 -0
- package/dist/db/tables/requestUsage.d.ts.map +1 -1
- package/dist/db/tables/requestUsage.js +16 -0
- package/dist/db/tables/requestUsage.js.map +1 -1
- package/dist/db/tables/sponsoredTransactions.d.ts +2 -2
- package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
- package/dist/db/tables/sponsoredTransactions.js +1 -1
- package/dist/db/tables/sponsoredTransactions.js.map +1 -1
- package/dist/db/tables/users.d.ts +8 -0
- package/dist/db/tables/users.d.ts.map +1 -1
- package/dist/db/tables/users.js +16 -0
- package/dist/db/tables/users.js.map +1 -1
- package/dist/db/tables/verifiedTokens.d.ts +14 -7
- package/dist/db/tables/verifiedTokens.d.ts.map +1 -1
- package/dist/db/tables/verifiedTokens.js +9 -7
- package/dist/db/tables/verifiedTokens.js.map +1 -1
- package/dist/db/tables/webhookSubscriptions.d.ts +31 -1
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +24 -3
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/handlers/relay.js +108 -108
- package/dist/handlers/relay.js.map +1 -1
- package/dist/internal/Auth.d.ts +37 -11
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +75 -16
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/Cache.d.ts.map +1 -1
- package/dist/internal/Cache.js +17 -11
- package/dist/internal/Cache.js.map +1 -1
- package/dist/internal/Cursor.js +1 -1
- package/dist/internal/Cursor.js.map +1 -1
- package/dist/internal/EarnRates.d.ts +89 -0
- package/dist/internal/EarnRates.d.ts.map +1 -0
- package/dist/internal/EarnRates.js +266 -0
- package/dist/internal/EarnRates.js.map +1 -0
- package/dist/internal/EarnVaults.d.ts +171 -0
- package/dist/internal/EarnVaults.d.ts.map +1 -0
- package/dist/internal/EarnVaults.js +547 -0
- package/dist/internal/EarnVaults.js.map +1 -0
- package/dist/internal/EdgeCache.d.ts +10 -3
- package/dist/internal/EdgeCache.d.ts.map +1 -1
- package/dist/internal/EdgeCache.js +43 -11
- package/dist/internal/EdgeCache.js.map +1 -1
- package/dist/internal/Id.d.ts +11 -0
- package/dist/internal/Id.d.ts.map +1 -1
- package/dist/internal/Id.js +13 -0
- package/dist/internal/Id.js.map +1 -1
- package/dist/internal/Idempotency.d.ts +83 -0
- package/dist/internal/Idempotency.d.ts.map +1 -0
- package/dist/internal/Idempotency.js +113 -0
- package/dist/internal/Idempotency.js.map +1 -0
- package/dist/internal/IpAllowlist.d.ts +15 -0
- package/dist/internal/IpAllowlist.d.ts.map +1 -0
- package/dist/internal/IpAllowlist.js +27 -0
- package/dist/internal/IpAllowlist.js.map +1 -0
- package/dist/internal/Log.d.ts +64 -9
- package/dist/internal/Log.d.ts.map +1 -1
- package/dist/internal/Log.js +29 -7
- package/dist/internal/Log.js.map +1 -1
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +47 -1
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/OpenApi.d.ts +2 -2
- package/dist/internal/OpenApi.d.ts.map +1 -1
- package/dist/internal/OpenApi.js +4 -1
- package/dist/internal/OpenApi.js.map +1 -1
- package/dist/internal/Provider.d.ts +14 -0
- package/dist/internal/Provider.d.ts.map +1 -0
- package/dist/internal/Provider.js +5 -0
- package/dist/internal/Provider.js.map +1 -0
- package/dist/internal/Schema.d.ts +6 -1
- package/dist/internal/Schema.d.ts.map +1 -1
- package/dist/internal/Schema.js +20 -11
- package/dist/internal/Schema.js.map +1 -1
- package/dist/internal/Store.d.ts +6 -0
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +35 -0
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/Tidx.d.ts +49 -24
- package/dist/internal/Tidx.d.ts.map +1 -1
- package/dist/internal/Tidx.js +90 -12
- package/dist/internal/Tidx.js.map +1 -1
- package/dist/internal/Viem.d.ts +90 -65
- package/dist/internal/Viem.d.ts.map +1 -1
- package/dist/internal/Viem.js +90 -12
- package/dist/internal/Viem.js.map +1 -1
- package/dist/internal/WebhookDestination.d.ts.map +1 -1
- package/dist/internal/WebhookDestination.js +34 -28
- package/dist/internal/WebhookDestination.js.map +1 -1
- package/dist/internal/Webhooks.d.ts +9 -0
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +15 -10
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/exchange/Provider.d.ts +219 -0
- package/dist/internal/exchange/Provider.d.ts.map +1 -0
- package/dist/internal/exchange/Provider.js +117 -0
- package/dist/internal/exchange/Provider.js.map +1 -0
- package/dist/internal/exchange/index.d.ts +2 -0
- package/dist/internal/exchange/index.d.ts.map +1 -0
- package/dist/internal/exchange/index.js +2 -0
- package/dist/internal/exchange/index.js.map +1 -0
- package/dist/internal/exchange/providers/uniswap.d.ts +57 -0
- package/dist/internal/exchange/providers/uniswap.d.ts.map +1 -0
- package/dist/internal/exchange/providers/uniswap.js +553 -0
- package/dist/internal/exchange/providers/uniswap.js.map +1 -0
- package/dist/internal/funding/Action.d.ts +55 -0
- package/dist/internal/funding/Action.d.ts.map +1 -0
- package/dist/internal/funding/Action.js +74 -0
- package/dist/internal/funding/Action.js.map +1 -0
- package/dist/internal/funding/Catalog.d.ts +107 -0
- package/dist/internal/funding/Catalog.d.ts.map +1 -0
- package/dist/internal/funding/Catalog.js +270 -0
- package/dist/internal/funding/Catalog.js.map +1 -0
- package/dist/internal/funding/Chain.d.ts +76 -0
- package/dist/internal/funding/Chain.d.ts.map +1 -0
- package/dist/internal/funding/Chain.js +38 -0
- package/dist/internal/funding/Chain.js.map +1 -0
- package/dist/internal/funding/Deposit.d.ts +408 -0
- package/dist/internal/funding/Deposit.d.ts.map +1 -0
- package/dist/internal/funding/Deposit.js +318 -0
- package/dist/internal/funding/Deposit.js.map +1 -0
- package/dist/internal/funding/DepositAddress.d.ts +345 -0
- package/dist/internal/funding/DepositAddress.d.ts.map +1 -0
- package/dist/internal/funding/DepositAddress.js +189 -0
- package/dist/internal/funding/DepositAddress.js.map +1 -0
- package/dist/internal/funding/Evidence.d.ts +48 -0
- package/dist/internal/funding/Evidence.d.ts.map +1 -0
- package/dist/internal/funding/Evidence.js +315 -0
- package/dist/internal/funding/Evidence.js.map +1 -0
- package/dist/internal/funding/Provider.d.ts +1288 -0
- package/dist/internal/funding/Provider.d.ts.map +1 -0
- package/dist/internal/funding/Provider.js +1086 -0
- package/dist/internal/funding/Provider.js.map +1 -0
- package/dist/internal/funding/Reconciliation.d.ts +127 -0
- package/dist/internal/funding/Reconciliation.d.ts.map +1 -0
- package/dist/internal/funding/Reconciliation.js +885 -0
- package/dist/internal/funding/Reconciliation.js.map +1 -0
- package/dist/internal/funding/Route.d.ts +21 -0
- package/dist/internal/funding/Route.d.ts.map +1 -0
- package/dist/internal/funding/Route.js +5 -0
- package/dist/internal/funding/Route.js.map +1 -0
- package/dist/internal/funding/SourceObservation.d.ts +108 -0
- package/dist/internal/funding/SourceObservation.d.ts.map +1 -0
- package/dist/internal/funding/SourceObservation.js +143 -0
- package/dist/internal/funding/SourceObservation.js.map +1 -0
- package/dist/internal/funding/Subsidy.d.ts +113 -0
- package/dist/internal/funding/Subsidy.d.ts.map +1 -0
- package/dist/internal/funding/Subsidy.js +138 -0
- package/dist/internal/funding/Subsidy.js.map +1 -0
- package/dist/internal/funding/Token.d.ts +41 -0
- package/dist/internal/funding/Token.d.ts.map +1 -0
- package/dist/internal/funding/Token.js +22 -0
- package/dist/internal/funding/Token.js.map +1 -0
- package/dist/internal/funding/Transfer.d.ts +643 -0
- package/dist/internal/funding/Transfer.d.ts.map +1 -0
- package/dist/internal/funding/Transfer.js +332 -0
- package/dist/internal/funding/Transfer.js.map +1 -0
- package/dist/internal/funding/index.d.ts +14 -0
- package/dist/internal/funding/index.d.ts.map +1 -0
- package/dist/internal/funding/index.js +14 -0
- package/dist/internal/funding/index.js.map +1 -0
- package/dist/internal/funding/providers/across.d.ts +21 -0
- package/dist/internal/funding/providers/across.d.ts.map +1 -0
- package/dist/internal/funding/providers/across.js +117 -0
- package/dist/internal/funding/providers/across.js.map +1 -0
- package/dist/internal/funding/providers/relay.d.ts +88 -0
- package/dist/internal/funding/providers/relay.d.ts.map +1 -0
- package/dist/internal/funding/providers/relay.js +871 -0
- package/dist/internal/funding/providers/relay.js.map +1 -0
- package/dist/internal/funding/providers/rhino.d.ts +15 -0
- package/dist/internal/funding/providers/rhino.d.ts.map +1 -0
- package/dist/internal/funding/providers/rhino.js +116 -0
- package/dist/internal/funding/providers/rhino.js.map +1 -0
- package/dist/internal/funding/providers/squid.d.ts +19 -0
- package/dist/internal/funding/providers/squid.d.ts.map +1 -0
- package/dist/internal/funding/providers/squid.js +120 -0
- package/dist/internal/funding/providers/squid.js.map +1 -0
- package/dist/internal/funding/providers/symbiosis.d.ts +20 -0
- package/dist/internal/funding/providers/symbiosis.d.ts.map +1 -0
- package/dist/internal/funding/providers/symbiosis.js +176 -0
- package/dist/internal/funding/providers/symbiosis.js.map +1 -0
- package/dist/internal/index.d.ts +5 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +5 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/webhookDestinations/url.js +61 -57
- package/dist/internal/webhookDestinations/url.js.map +1 -1
- package/dist/providers/index.d.ts +43 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +19 -0
- package/dist/providers/index.js.map +1 -0
- package/package.json +10 -5
- package/src/ApiKey.test.ts +35 -0
- package/src/ApiKey.ts +27 -0
- package/src/ApiKeys.test.ts +40 -7
- package/src/ApiKeys.ts +46 -10
- package/src/App.test.ts +108 -15
- package/src/App.ts +296 -138
- package/src/Assets.ts +29 -4
- package/src/Client.test-d.ts +809 -37
- package/src/Scope.test.ts +19 -0
- package/src/Scope.ts +28 -11
- package/src/Webhooks.test.ts +25 -0
- package/src/Webhooks.ts +1 -1
- package/src/admin/App.test.ts +9 -2
- package/src/admin/App.ts +32 -9
- package/src/admin/apps/api-keys.test.ts +190 -22
- package/src/admin/apps/api-keys.ts +170 -28
- package/src/admin/apps/earn-vaults.test.ts +338 -0
- package/src/admin/apps/earn-vaults.ts +572 -0
- package/src/admin/apps/scopes.test.ts +16 -1
- package/src/admin/ui/plugin.ts +2 -2
- package/src/admin/ui/src/components/EarnVaultForm.tsx +137 -0
- package/src/admin/ui/src/components/MobileProfile.tsx +2 -2
- package/src/admin/ui/src/components/Page.tsx +1 -1
- package/src/admin/ui/src/components/ThemeToggle.tsx +1 -1
- package/src/admin/ui/src/lib/api-keys.ts +37 -7
- package/src/admin/ui/src/lib/client.ts +1 -1
- package/src/admin/ui/src/lib/config.ts +1 -1
- package/src/admin/ui/src/lib/early-access.ts +8 -9
- package/src/admin/ui/src/lib/earn-vaults.ts +207 -0
- package/src/admin/ui/src/lib/format.ts +13 -0
- package/src/admin/ui/src/lib/organizations.test.ts +14 -4
- package/src/admin/ui/src/lib/organizations.ts +7 -1
- package/src/admin/ui/src/lib/response.ts +22 -0
- package/src/admin/ui/src/lib/scopes.test.ts +19 -11
- package/src/admin/ui/src/lib/scopes.ts +28 -7
- package/src/admin/ui/src/lib/verified-tokens.ts +10 -9
- package/src/admin/ui/src/routeTree.gen.ts +70 -7
- package/src/admin/ui/src/router.tsx +2 -2
- package/src/admin/ui/src/routes/__root.tsx +9 -8
- package/src/admin/ui/src/routes/api-keys.tsx +475 -64
- package/src/admin/ui/src/routes/early-access.tsx +5 -12
- package/src/admin/ui/src/routes/earn.vaults.tsx +348 -0
- package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +154 -0
- package/src/admin/ui/src/routes/earn.vaults_.new.tsx +190 -0
- package/src/admin/ui/src/routes/organizations.tsx +4 -7
- package/src/admin/ui/src/routes/organizations_.$orgId.tsx +56 -54
- package/src/admin/ui/src/routes/verified-tokens.tsx +4 -4
- package/src/admin/ui/vite.config.ts +4 -1
- package/src/admin/ui.generated.ts +113 -43
- package/src/analytics/Analytics.test.ts +69 -10
- package/src/analytics/Analytics.ts +24 -1
- package/src/analytics/tables/requestEvents.ts +79 -37
- package/src/apps/Zones.test.ts +33 -0
- package/src/apps/Zones.ts +40 -0
- package/src/apps/composition.test.ts +184 -3
- package/src/apps/data/App.test.ts +28 -23
- package/src/apps/data/App.ts +95 -36
- package/src/apps/data/FxOracle.ts +1 -1
- package/src/apps/data/index.ts +0 -1
- package/src/apps/data/routes/activities.test.ts +82 -6
- package/src/apps/data/routes/activities.ts +131 -71
- package/src/apps/data/routes/balances.test.ts +50 -37
- package/src/apps/data/routes/balances.ts +5 -5
- package/src/apps/data/routes/blocks.test.ts +2 -0
- package/src/apps/data/routes/coingecko.test.ts +22 -0
- package/src/apps/data/routes/coingecko.ts +84 -48
- package/src/apps/data/routes/earn.test.ts +1391 -0
- package/src/apps/data/routes/earn.ts +2188 -0
- package/src/apps/data/routes/exchanges.test.ts +82 -33
- package/src/apps/data/routes/exchanges.ts +842 -227
- package/src/apps/data/routes/fee-amm.test.ts +4 -6
- package/src/apps/data/routes/fee-amm.ts +69 -12
- package/src/apps/data/routes/indexer.test.ts +43 -34
- package/src/apps/data/routes/indexer.ts +21 -3
- package/src/apps/data/routes/receipts.test.ts +5 -3
- package/src/apps/data/routes/receipts.ts +13 -11
- package/src/apps/data/routes/rpc.test.ts +446 -28
- package/src/apps/data/routes/rpc.ts +245 -25
- package/src/apps/data/routes/tokenlist.ts +72 -19
- package/src/apps/data/routes/tokens.test.ts +6 -8
- package/src/apps/data/routes/tokens.ts +258 -86
- package/src/apps/data/routes/transactions.test.ts +2 -0
- package/src/apps/data/routes/transactions.ts +77 -42
- package/src/apps/data/routes/transfers.test.ts +166 -4
- package/src/apps/data/routes/transfers.ts +216 -78
- package/src/apps/data/routes/valuation.test.ts +62 -9
- package/src/apps/data/routes/valuation.ts +2 -2
- package/src/apps/data/routes/webhooks.test.ts +386 -43
- package/src/apps/data/routes/webhooks.ts +172 -71
- package/src/apps/data/routes/zones.test.ts +473 -0
- package/src/apps/data/routes/zones.ts +338 -0
- package/src/apps/docs/reference.ts +8 -6
- package/src/apps/funding/Access.ts +26 -0
- package/src/apps/funding/App.test.ts +78 -0
- package/src/apps/funding/App.ts +63 -0
- package/src/apps/funding/Inventory.ts +30 -0
- package/src/apps/funding/ProviderAttempts.ts +26 -0
- package/src/apps/funding/index.ts +1 -0
- package/src/apps/funding/routes/chains.test.ts +78 -0
- package/src/apps/funding/routes/chains.ts +101 -0
- package/src/apps/funding/routes/deposit-addresses.test.ts +1628 -0
- package/src/apps/funding/routes/deposit-addresses.ts +1015 -0
- package/src/apps/funding/routes/providers.test.ts +165 -0
- package/src/apps/funding/routes/providers.ts +73 -0
- package/src/apps/funding/routes/quotes.test.ts +511 -0
- package/src/apps/funding/routes/quotes.ts +205 -0
- package/src/apps/funding/routes/transfers.test.ts +1255 -0
- package/src/apps/funding/routes/transfers.ts +704 -0
- package/src/apps/index.ts +3 -1
- package/src/apps/management/Billing.test.ts +29 -0
- package/src/apps/management/Billing.ts +23 -0
- package/src/apps/management/Error.ts +12 -0
- package/src/apps/management/routes/api-keys.test.ts +103 -3
- package/src/apps/management/routes/api-keys.ts +98 -10
- package/src/apps/management/routes/invitations.ts +4 -11
- package/src/apps/management/routes/orgs.ts +2 -9
- package/src/apps/management/routes/scopes.test.ts +7 -2
- package/src/apps/management/routes/scopes.ts +2 -2
- package/src/apps/management/routes/webhooks.test.ts +6 -1
- package/src/apps/management/routes/webhooks.ts +15 -3
- package/src/apps/mcp.test.ts +17 -2
- package/src/apps/mcp.ts +18 -13
- package/src/apps/metadata.ts +12 -0
- package/src/apps/mpp/App.ts +276 -29
- package/src/apps/mpp/Mpp.test.ts +631 -26
- package/src/apps/mpp/Mpp.ts +0 -42
- package/src/apps/mpp/internal/Adapter.ts +108 -3
- package/src/apps/mpp/internal/Error.test.ts +33 -0
- package/src/apps/mpp/internal/Error.ts +44 -6
- package/src/apps/mpp/internal/Idempotency.test.ts +213 -0
- package/src/apps/mpp/internal/Idempotency.ts +59 -5
- package/src/apps/mpp/internal/Policy.test.ts +128 -0
- package/src/apps/mpp/internal/Policy.ts +98 -0
- package/src/apps/mpp/internal/ScreenManager.test.ts +68 -0
- package/src/apps/mpp/internal/ScreenManager.ts +41 -0
- package/src/apps/mpp/internal/Screening.ts +40 -3
- package/src/apps/mpp/internal/Sponsorship.ts +144 -0
- package/src/apps/mpp/internal/Utils.ts +30 -0
- package/src/apps/relay/App.test.ts +493 -62
- package/src/apps/relay/App.ts +233 -23
- package/src/apps/relay/Sponsorships.test.ts +49 -0
- package/src/apps/relay/Sponsorships.ts +18 -6
- package/src/cloudflare.ts +279 -0
- package/src/db/Db.ts +501 -0
- package/src/db/Schema.ts +349 -2
- package/src/db/tables/earnVaults.test.ts +185 -0
- package/src/db/tables/earnVaults.ts +151 -0
- package/src/db/tables/fundingCatalog.test.ts +108 -0
- package/src/db/tables/fundingCatalog.ts +157 -0
- package/src/db/tables/fundingDepositAddresses.test.ts +580 -0
- package/src/db/tables/fundingDepositAddresses.ts +404 -0
- package/src/db/tables/fundingDepositRequestObservations.test.ts +106 -0
- package/src/db/tables/fundingDepositRequestObservations.ts +99 -0
- package/src/db/tables/fundingDeposits.test.ts +399 -0
- package/src/db/tables/fundingDeposits.ts +373 -0
- package/src/db/tables/fundingIdempotency.test.ts +182 -0
- package/src/db/tables/fundingIdempotency.ts +180 -0
- package/src/db/tables/fundingTransferEvents.ts +28 -0
- package/src/db/tables/fundingTransferTransactions.test.ts +69 -0
- package/src/db/tables/fundingTransferTransactions.ts +37 -0
- package/src/db/tables/fundingTransfers.test.ts +89 -0
- package/src/db/tables/fundingTransfers.ts +153 -0
- package/src/db/tables/organizations.ts +16 -0
- package/src/db/tables/projects.ts +16 -0
- package/src/db/tables/requestUsage.ts +23 -0
- package/src/db/tables/sponsoredTransactions.test.ts +11 -0
- package/src/db/tables/sponsoredTransactions.ts +3 -3
- package/src/db/tables/users.ts +16 -0
- package/src/db/tables/verifiedTokens.ts +19 -14
- package/src/db/tables/webhookSubscriptions.ts +58 -3
- package/src/handlers/relay.test.ts +2 -0
- package/src/handlers/relay.ts +95 -99
- package/src/internal/Auth.test.ts +225 -5
- package/src/internal/Auth.ts +109 -20
- package/src/internal/Cache.test.ts +37 -3
- package/src/internal/Cache.ts +14 -10
- package/src/internal/Cursor.test.ts +2 -2
- package/src/internal/Cursor.ts +1 -1
- package/src/internal/EarnRates.test.ts +125 -0
- package/src/internal/EarnRates.ts +409 -0
- package/src/internal/EarnVaults.test.ts +195 -0
- package/src/internal/EarnVaults.ts +876 -0
- package/src/internal/EdgeCache.test.ts +26 -7
- package/src/internal/EdgeCache.ts +48 -9
- package/src/internal/Id.ts +14 -0
- package/src/internal/Idempotency.test.ts +109 -0
- package/src/internal/Idempotency.ts +237 -0
- package/src/internal/IpAllowlist.test.ts +52 -0
- package/src/internal/IpAllowlist.ts +39 -0
- package/src/internal/Log.test-d.ts +41 -8
- package/src/internal/Log.test.ts +196 -9
- package/src/internal/Log.ts +124 -17
- package/src/internal/MetricSink.test.ts +244 -4
- package/src/internal/MetricSink.ts +51 -1
- package/src/internal/OpenApi.ts +4 -1
- package/src/internal/Provider.test.ts +17 -0
- package/src/internal/Provider.ts +17 -0
- package/src/internal/Schema.ts +27 -17
- package/src/internal/Store.test.ts +25 -0
- package/src/internal/Store.ts +46 -0
- package/src/internal/Tidx.local.test.ts +78 -3
- package/src/internal/Tidx.test.ts +240 -18
- package/src/internal/Tidx.ts +129 -33
- package/src/internal/VerifiedTokens.test.ts +15 -0
- package/src/internal/Viem.test.ts +198 -17
- package/src/internal/Viem.ts +127 -28
- package/src/internal/WebhookDestination.ts +25 -23
- package/src/internal/Webhooks.test.ts +59 -0
- package/src/internal/Webhooks.ts +34 -10
- package/src/internal/exchange/Provider.test.ts +216 -0
- package/src/internal/exchange/Provider.ts +326 -0
- package/src/internal/exchange/index.test.ts +6 -0
- package/src/internal/exchange/index.ts +1 -0
- package/src/internal/exchange/providers/uniswap.test.ts +122 -0
- package/src/internal/exchange/providers/uniswap.ts +682 -0
- package/src/internal/funding/Action.test.ts +138 -0
- package/src/internal/funding/Action.ts +117 -0
- package/src/internal/funding/Catalog.test.ts +311 -0
- package/src/internal/funding/Catalog.ts +347 -0
- package/src/internal/funding/Chain.test.ts +79 -0
- package/src/internal/funding/Chain.ts +120 -0
- package/src/internal/funding/Deposit.test.ts +26 -0
- package/src/internal/funding/Deposit.ts +522 -0
- package/src/internal/funding/DepositAddress.test.ts +18 -0
- package/src/internal/funding/DepositAddress.ts +312 -0
- package/src/internal/funding/Evidence.test.ts +297 -0
- package/src/internal/funding/Evidence.ts +425 -0
- package/src/internal/funding/Provider.test.ts +1328 -0
- package/src/internal/funding/Provider.ts +1911 -0
- package/src/internal/funding/Reconciliation.local.test.ts +511 -0
- package/src/internal/funding/Reconciliation.test.ts +3037 -0
- package/src/internal/funding/Reconciliation.ts +1202 -0
- package/src/internal/funding/Route.test.ts +66 -0
- package/src/internal/funding/Route.ts +29 -0
- package/src/internal/funding/SourceObservation.test.ts +301 -0
- package/src/internal/funding/SourceObservation.ts +267 -0
- package/src/internal/funding/Subsidy.local.test.ts +152 -0
- package/src/internal/funding/Subsidy.test.ts +75 -0
- package/src/internal/funding/Subsidy.ts +260 -0
- package/src/internal/funding/Token.test.ts +47 -0
- package/src/internal/funding/Token.ts +59 -0
- package/src/internal/funding/Transfer.test.ts +369 -0
- package/src/internal/funding/Transfer.ts +522 -0
- package/src/internal/funding/index.test.ts +21 -0
- package/src/internal/funding/index.ts +13 -0
- package/src/internal/funding/providers/across.ts +149 -0
- package/src/{apps/data/FundingQuoteProviders.test.ts → internal/funding/providers/index.test.ts} +178 -157
- package/src/internal/funding/providers/relay.test.ts +564 -0
- package/src/internal/funding/providers/relay.ts +1060 -0
- package/src/internal/funding/providers/rhino.ts +139 -0
- package/src/internal/funding/providers/squid.ts +151 -0
- package/src/internal/funding/providers/symbiosis.ts +221 -0
- package/src/internal/index.test.ts +5 -1
- package/src/internal/index.ts +5 -1
- package/src/internal/webhookDestinations/url.ts +49 -45
- package/src/providers/index.test.ts +14 -0
- package/src/providers/index.ts +54 -0
- package/dist/apps/data/FundingQuoteProviders.d.ts +0 -174
- package/dist/apps/data/FundingQuoteProviders.d.ts.map +0 -1
- package/dist/apps/data/FundingQuoteProviders.js +0 -775
- package/dist/apps/data/FundingQuoteProviders.js.map +0 -1
- package/dist/apps/data/routes/funding.d.ts.map +0 -1
- package/dist/apps/data/routes/funding.js +0 -410
- package/dist/apps/data/routes/funding.js.map +0 -1
- package/dist/internal/FundingQuotes.d.ts +0 -864
- package/dist/internal/FundingQuotes.d.ts.map +0 -1
- package/dist/internal/FundingQuotes.js +0 -672
- package/dist/internal/FundingQuotes.js.map +0 -1
- package/src/apps/data/FundingQuoteProviders.ts +0 -1043
- package/src/apps/data/routes/funding.test.ts +0 -503
- package/src/apps/data/routes/funding.ts +0 -604
- package/src/internal/FundingQuotes.test.ts +0 -456
- package/src/internal/FundingQuotes.ts +0 -944
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
// TODO(tidx-v1): Restore `queryOutbound` from commit `de87725` after TIDX v1 ships. Remove the receipt-side merge and bounded follow-up lookup.
|
|
1
2
|
import { Hono } from 'hono';
|
|
2
3
|
import { Address, Hex } from 'ox';
|
|
3
4
|
import { parseEventLogs, zeroAddress } from 'viem';
|
|
@@ -12,6 +13,7 @@ import * as OpenApi from '../../../internal/OpenApi.js';
|
|
|
12
13
|
import * as Response from '../../../internal/Response.js';
|
|
13
14
|
import * as Schema from '../../../internal/Schema.js';
|
|
14
15
|
import * as Store from '../../../internal/Store.js';
|
|
16
|
+
import * as Tidx from '../../../internal/Tidx.js';
|
|
15
17
|
import * as Timing from '../../../internal/Timing.js';
|
|
16
18
|
import * as Ttl from '../../../internal/Ttl.js';
|
|
17
19
|
import * as Value from '../../../internal/Value.js';
|
|
@@ -39,7 +41,7 @@ export var schema;
|
|
|
39
41
|
const ValuedAmount = z.extend(Schema.TokenAmount, {
|
|
40
42
|
valuation: z
|
|
41
43
|
.optional(z.nullable(Valuation.schema.Value))
|
|
42
|
-
.check(z.describe('The amount’s nominal value in the requested `
|
|
44
|
+
.check(z.describe('The amount’s nominal value in the requested `valuation.currency`. `null` when the token is ' +
|
|
43
45
|
'unverified, its display currency has no rate, or rates were unavailable.')),
|
|
44
46
|
});
|
|
45
47
|
/** Self-contained amount for a destination token. */
|
|
@@ -51,7 +53,7 @@ export var schema;
|
|
|
51
53
|
/** Page-level resources: valuation rate provenance. */
|
|
52
54
|
schema.Meta = z
|
|
53
55
|
.object({
|
|
54
|
-
|
|
56
|
+
valuation: z
|
|
55
57
|
.optional(Valuation.schema.Pricing)
|
|
56
58
|
.check(z.describe('Rate provenance for amount valuations. Present when conversion rates were ' +
|
|
57
59
|
'consulted; absent when every value was identity-valued or rates were unavailable.')),
|
|
@@ -1166,7 +1168,6 @@ export var schema;
|
|
|
1166
1168
|
.strictObject({
|
|
1167
1169
|
chainId: Schema.ChainIdQuery,
|
|
1168
1170
|
cursor: Schema.Cursor,
|
|
1169
|
-
denomination: Schema.Denomination,
|
|
1170
1171
|
// Folding is opt-in: by default every item is returned at the root.
|
|
1171
1172
|
group: z
|
|
1172
1173
|
._default(Schema.booleanQuery(), false)
|
|
@@ -1178,6 +1179,7 @@ export var schema;
|
|
|
1178
1179
|
logs: z
|
|
1179
1180
|
._default(Schema.booleanQuery(), false)
|
|
1180
1181
|
.check(z.describe('Set to `true` to attach each item’s full transaction log set (decoded when possible) as a top-level `events` array, so no co-located log is hidden. Defaults to `false`. `unknown` items always include it.'), z.meta({ examples: [true] })),
|
|
1182
|
+
'valuation.currency': Schema.Denomination,
|
|
1181
1183
|
})
|
|
1182
1184
|
.check(z.describe('Query parameters for the address activity request. This feed uses cursor pagination only because activity classification can fold a variable number of rows into each entry, so positional `page` pagination would not be stable.'));
|
|
1183
1185
|
/**
|
|
@@ -1209,13 +1211,13 @@ export var schema;
|
|
|
1209
1211
|
getTransactionActivities.Query = z
|
|
1210
1212
|
.strictObject({
|
|
1211
1213
|
chainId: Schema.ChainIdQuery,
|
|
1212
|
-
denomination: Schema.Denomination,
|
|
1213
1214
|
include: schema.includeQuery,
|
|
1214
1215
|
// Raw-log capture is opt-in: it can add a large `events` array to every
|
|
1215
1216
|
// item, so the default response stays lean.
|
|
1216
1217
|
logs: z
|
|
1217
1218
|
._default(Schema.booleanQuery(), false)
|
|
1218
1219
|
.check(z.describe('Set to `true` to attach each item’s full transaction log set (decoded when possible) as a top-level `events` array, so no co-located log is hidden. Defaults to `false`. `unknown` items always include it.'), z.meta({ examples: [true] })),
|
|
1220
|
+
'valuation.currency': Schema.Denomination,
|
|
1219
1221
|
})
|
|
1220
1222
|
.check(z.describe('Query parameters for the transaction activity request.'));
|
|
1221
1223
|
/**
|
|
@@ -1404,8 +1406,8 @@ function baseFor(options) {
|
|
|
1404
1406
|
* Creates address-scoped activity handlers, mounted under the `/addresses`
|
|
1405
1407
|
* composer. Exposes `GET /:address/activities`.
|
|
1406
1408
|
*
|
|
1407
|
-
* Runs the full activity classification pipeline:
|
|
1408
|
-
*
|
|
1409
|
+
* Runs the full activity classification pipeline: outbound receipt/log
|
|
1410
|
+
* lookups plus inbound and outbound transfer queries, merged
|
|
1409
1411
|
* and decoded into typed items (`transfer`/`mint`/`burn`/`swap`/
|
|
1410
1412
|
* `approval`/`session-closed`/`access-key-created`/`access-key-revoked`/
|
|
1411
1413
|
* `token-created`/`burn-blocked`/`channel-opened`/`channel-funded`/
|
|
@@ -1478,7 +1480,7 @@ export function addresses(options = {}) {
|
|
|
1478
1480
|
// Build immutable token and structured amount copies from RPC metadata.
|
|
1479
1481
|
const { items, rates } = await enrichTokens(c, {
|
|
1480
1482
|
chainId,
|
|
1481
|
-
denomination: query.
|
|
1483
|
+
denomination: query['valuation.currency'] ?? 'USD',
|
|
1482
1484
|
include: query.include,
|
|
1483
1485
|
items: unenrichedItems,
|
|
1484
1486
|
oracle,
|
|
@@ -1488,7 +1490,7 @@ export function addresses(options = {}) {
|
|
|
1488
1490
|
const data = query.group ? groupByAccessKey(items) : items;
|
|
1489
1491
|
return c.json(Response.validated(schema.getAddressActivities.Response, {
|
|
1490
1492
|
data,
|
|
1491
|
-
...(rates ? { meta: {
|
|
1493
|
+
...(rates ? { meta: { valuation: Valuation.pricing(rates, oracle) } } : {}),
|
|
1492
1494
|
nextCursor,
|
|
1493
1495
|
}), 200);
|
|
1494
1496
|
}
|
|
@@ -1580,14 +1582,14 @@ export function transactions(options = {}) {
|
|
|
1580
1582
|
// Build immutable token and structured amount copies from RPC metadata.
|
|
1581
1583
|
const { items, rates } = await enrichTokens(c, {
|
|
1582
1584
|
chainId,
|
|
1583
|
-
denomination: query.
|
|
1585
|
+
denomination: query['valuation.currency'] ?? 'USD',
|
|
1584
1586
|
include: query.include,
|
|
1585
1587
|
items: unenrichedItems,
|
|
1586
1588
|
oracle,
|
|
1587
1589
|
});
|
|
1588
1590
|
return c.json(Response.validated(schema.getTransactionActivities.Response, {
|
|
1589
1591
|
data: items,
|
|
1590
|
-
...(rates ? { meta: {
|
|
1592
|
+
...(rates ? { meta: { valuation: Valuation.pricing(rates, oracle) } } : {}),
|
|
1591
1593
|
}), 200);
|
|
1592
1594
|
}
|
|
1593
1595
|
catch (cause) {
|
|
@@ -1708,8 +1710,8 @@ export async function list(provider, options) {
|
|
|
1708
1710
|
/**
|
|
1709
1711
|
* Creates a TIDX-backed {@link Provider} that runs three sub-queries in
|
|
1710
1712
|
* parallel and merges them:
|
|
1711
|
-
* - Q1 (outbound):
|
|
1712
|
-
*
|
|
1713
|
+
* - Q1 (outbound): page receipts where the address is `from` or `fee_payer`,
|
|
1714
|
+
* then fetch the selected transactions' logs with a bounded lookup.
|
|
1713
1715
|
* - Q2 (inbound): decoded `Transfer` events to the address.
|
|
1714
1716
|
* - Q3 (outbound transfers): decoded `Transfer` events from the address
|
|
1715
1717
|
* (catches access-key-signed sends where `tx.from` differs from the address).
|
|
@@ -1726,63 +1728,95 @@ export function tidx(deps) {
|
|
|
1726
1728
|
return { blockNum: decoded[0], txIdx: decoded[1] };
|
|
1727
1729
|
}
|
|
1728
1730
|
/**
|
|
1729
|
-
* Q1
|
|
1730
|
-
*
|
|
1731
|
-
*
|
|
1732
|
-
* The cursor uses a two-predicate keyset (`block_num <= N` AND `(block_num <
|
|
1733
|
-
* N OR tx_idx < M)`) rather than a plain `block_num < N`: the `<= N` upper
|
|
1734
|
-
* bound lets the ClickHouse planner seek to the cursor block on the
|
|
1735
|
-
* `(block_num, tx_idx)` primary key instead of scanning from the tip, which
|
|
1736
|
-
* is what avoids planner 422s on busy addresses. Over-fetch `limit * 4`
|
|
1737
|
-
* (never `OFFSET`) because one tx fans out into many log rows that
|
|
1738
|
-
* `groupByTx` collapses back into a single group.
|
|
1731
|
+
* Q1 pages outbound receipts, then fetches their logs by bounded block range
|
|
1732
|
+
* and transaction hash. The cursor preserves block and transaction index order.
|
|
1739
1733
|
*/
|
|
1740
1734
|
async function queryOutbound(options) {
|
|
1741
1735
|
const { address, cursor, limit } = options;
|
|
1742
1736
|
const keyset = cursor
|
|
1743
|
-
? `AND
|
|
1737
|
+
? `AND block_num <= ${cursor.blockNum} AND (block_num < ${cursor.blockNum} OR tx_idx < ${cursor.txIdx})`
|
|
1744
1738
|
: '';
|
|
1745
|
-
|
|
1746
|
-
const
|
|
1739
|
+
const queryLimit = limit + 1;
|
|
1740
|
+
const fetchReceipts = (side) => tidxClient.fetch({
|
|
1747
1741
|
chainId,
|
|
1742
|
+
// Raw-table query (no signature-decoded CTE), so the inline SQL is cast
|
|
1743
|
+
// to `string`.
|
|
1748
1744
|
query: `
|
|
1749
|
-
|
|
1750
|
-
receipts
|
|
1751
|
-
|
|
1752
|
-
|
|
1753
|
-
|
|
1754
|
-
|
|
1755
|
-
receipts.fee_payer AS fee_payer,
|
|
1756
|
-
logs.address AS log_address,
|
|
1757
|
-
logs.selector AS selector,
|
|
1758
|
-
logs.topic1 AS topic1,
|
|
1759
|
-
logs.topic2 AS topic2,
|
|
1760
|
-
logs.topic3 AS topic3,
|
|
1761
|
-
logs.data AS data,
|
|
1762
|
-
logs.log_idx AS log_idx
|
|
1763
|
-
FROM receipts
|
|
1764
|
-
INNER JOIN logs ON logs.tx_hash = receipts.tx_hash
|
|
1765
|
-
WHERE (receipts."from" = '${address}' OR receipts.fee_payer = '${address}') ${keyset}
|
|
1766
|
-
ORDER BY receipts.block_num DESC, receipts.tx_idx DESC
|
|
1767
|
-
LIMIT ${limit * 4}
|
|
1768
|
-
`,
|
|
1745
|
+
SELECT tx_hash, block_num, block_timestamp, tx_idx, "from", fee_payer
|
|
1746
|
+
FROM receipts
|
|
1747
|
+
WHERE "${side}" = '${address}' ${keyset}
|
|
1748
|
+
ORDER BY block_num DESC, tx_idx DESC
|
|
1749
|
+
LIMIT ${queryLimit}
|
|
1750
|
+
`,
|
|
1769
1751
|
});
|
|
1770
|
-
|
|
1752
|
+
// Fetching `limit + 1` from each side is sufficient to form the newest
|
|
1753
|
+
// `limit + 1` transactions after the two ordered sets are merged.
|
|
1754
|
+
const [paid, sent] = await Promise.all([fetchReceipts('fee_payer'), fetchReceipts('from')]);
|
|
1755
|
+
const seen = new Set();
|
|
1756
|
+
const receipts = [...paid.rows, ...sent.rows]
|
|
1757
|
+
.map((r) => ({
|
|
1771
1758
|
blockNum: Number(Value.toNumber(r['block_num'])),
|
|
1772
1759
|
blockTimestamp: Number(Value.toNumber(r['block_timestamp'])),
|
|
1773
|
-
data: Value.toText(r['data']) ?? null,
|
|
1774
1760
|
feePayer: lowerOrNull(r['fee_payer']),
|
|
1775
|
-
logAddress: lower(r['log_address']),
|
|
1776
|
-
logIdx: Number(Value.toNumber(r['log_idx'])),
|
|
1777
|
-
selector: Value.toText(r['selector']) ?? null,
|
|
1778
|
-
source: 'q1',
|
|
1779
|
-
topic1: Value.toText(r['topic1']) ?? null,
|
|
1780
|
-
topic2: Value.toText(r['topic2']) ?? null,
|
|
1781
|
-
topic3: Value.toText(r['topic3']) ?? null,
|
|
1782
1761
|
txHash: lowerHash(r['tx_hash']),
|
|
1783
1762
|
txIdx: Number(Value.toNumber(r['tx_idx'])),
|
|
1784
|
-
txSender: lowerOrNull(r['
|
|
1785
|
-
}))
|
|
1763
|
+
txSender: lowerOrNull(r['from']),
|
|
1764
|
+
}))
|
|
1765
|
+
.filter((receipt) => {
|
|
1766
|
+
if (seen.has(receipt.txHash))
|
|
1767
|
+
return false;
|
|
1768
|
+
seen.add(receipt.txHash);
|
|
1769
|
+
return true;
|
|
1770
|
+
})
|
|
1771
|
+
.sort((a, b) => {
|
|
1772
|
+
if (a.blockNum !== b.blockNum)
|
|
1773
|
+
return b.blockNum - a.blockNum;
|
|
1774
|
+
return b.txIdx - a.txIdx;
|
|
1775
|
+
})
|
|
1776
|
+
.slice(0, queryLimit);
|
|
1777
|
+
if (receipts.length === 0)
|
|
1778
|
+
return [];
|
|
1779
|
+
const blocks = receipts.map((receipt) => receipt.blockNum);
|
|
1780
|
+
const receiptByHash = new Map(receipts.map((receipt) => [receipt.txHash, receipt]));
|
|
1781
|
+
const txHashes = receipts.map((receipt) => `'${receipt.txHash}'`).join(', ');
|
|
1782
|
+
// `logs` is not keyed by transaction hash, so pair the bounded hash list
|
|
1783
|
+
// with the selected receipts' block range to avoid a full archive scan.
|
|
1784
|
+
const logs = await tidxClient.fetch({
|
|
1785
|
+
chainId,
|
|
1786
|
+
// Raw-table query (no signature-decoded CTE), so the inline SQL is cast
|
|
1787
|
+
// to `string`.
|
|
1788
|
+
query: `
|
|
1789
|
+
SELECT tx_hash, block_num, tx_idx, log_idx, address, selector, topic1, topic2, topic3, data
|
|
1790
|
+
FROM logs
|
|
1791
|
+
WHERE block_num BETWEEN ${Math.min(...blocks)} AND ${Math.max(...blocks)}
|
|
1792
|
+
AND tx_hash IN (${txHashes})
|
|
1793
|
+
ORDER BY block_num DESC, tx_idx DESC, log_idx ASC
|
|
1794
|
+
`,
|
|
1795
|
+
});
|
|
1796
|
+
const rows = logs.rows.flatMap((r) => {
|
|
1797
|
+
const receipt = receiptByHash.get(lowerHash(r['tx_hash']));
|
|
1798
|
+
if (!receipt)
|
|
1799
|
+
return [];
|
|
1800
|
+
return [
|
|
1801
|
+
{
|
|
1802
|
+
blockNum: receipt.blockNum,
|
|
1803
|
+
blockTimestamp: receipt.blockTimestamp,
|
|
1804
|
+
data: Value.toText(r['data']) ?? null,
|
|
1805
|
+
feePayer: receipt.feePayer,
|
|
1806
|
+
logAddress: lower(r['address']),
|
|
1807
|
+
logIdx: Number(Value.toNumber(r['log_idx'])),
|
|
1808
|
+
selector: Value.toText(r['selector']) ?? null,
|
|
1809
|
+
source: 'q1',
|
|
1810
|
+
topic1: Value.toText(r['topic1']) ?? null,
|
|
1811
|
+
topic2: Value.toText(r['topic2']) ?? null,
|
|
1812
|
+
topic3: Value.toText(r['topic3']) ?? null,
|
|
1813
|
+
txHash: receipt.txHash,
|
|
1814
|
+
txIdx: receipt.txIdx,
|
|
1815
|
+
txSender: receipt.txSender,
|
|
1816
|
+
},
|
|
1817
|
+
];
|
|
1818
|
+
});
|
|
1819
|
+
return mergeAndSort(rows, [], []);
|
|
1786
1820
|
}
|
|
1787
1821
|
/** Q2/Q3: decoded `Transfer` events on one side of the address. */
|
|
1788
1822
|
async function queryTransfers(options) {
|
|
@@ -1791,18 +1825,48 @@ export function tidx(deps) {
|
|
|
1791
1825
|
? `"to" = '${address}' AND "from" != '${address}'`
|
|
1792
1826
|
: `"from" = '${address}' AND "to" != '${address}'`;
|
|
1793
1827
|
const keyset = cursor ? `AND block_num < ${cursor.blockNum}` : '';
|
|
1794
|
-
const
|
|
1795
|
-
chainId,
|
|
1796
|
-
query: `
|
|
1828
|
+
const query = (blockKey) => `
|
|
1797
1829
|
SELECT "from", "to", address, value, tx_hash, block_num, block_timestamp, log_idx, tx_idx
|
|
1798
1830
|
FROM Transfer
|
|
1799
1831
|
WHERE ${where} ${keyset}
|
|
1800
|
-
ORDER BY
|
|
1801
|
-
LIMIT ${limit * 4}
|
|
1802
|
-
|
|
1803
|
-
|
|
1804
|
-
|
|
1805
|
-
|
|
1832
|
+
${blockKey ? `ORDER BY ${blockKey} DESC, tx_idx DESC` : ''}
|
|
1833
|
+
LIMIT ${blockKey ? limit * 4 : Schema.countCap}
|
|
1834
|
+
`;
|
|
1835
|
+
const result = await (async () => {
|
|
1836
|
+
try {
|
|
1837
|
+
return await tidxClient.fetch({
|
|
1838
|
+
chainId,
|
|
1839
|
+
query: query('block_num'),
|
|
1840
|
+
signatures: [transferSignature],
|
|
1841
|
+
});
|
|
1842
|
+
}
|
|
1843
|
+
catch (error) {
|
|
1844
|
+
if (!Tidx.isDeterministicError(error))
|
|
1845
|
+
throw error;
|
|
1846
|
+
try {
|
|
1847
|
+
// The expression blocks a mis-selected block-ordered top-N walk.
|
|
1848
|
+
return await tidxClient.fetch({
|
|
1849
|
+
chainId,
|
|
1850
|
+
query: query('block_num + 0'),
|
|
1851
|
+
signatures: [transferSignature],
|
|
1852
|
+
});
|
|
1853
|
+
}
|
|
1854
|
+
catch (fallbackError) {
|
|
1855
|
+
if (!Tidx.isDeterministicError(fallbackError))
|
|
1856
|
+
throw fallbackError;
|
|
1857
|
+
const result = await tidxClient.fetch({
|
|
1858
|
+
chainId,
|
|
1859
|
+
query: query(),
|
|
1860
|
+
signatures: [transferSignature],
|
|
1861
|
+
});
|
|
1862
|
+
// An unordered sample cannot safely produce an activity cursor.
|
|
1863
|
+
if (result.rows.length >= Schema.countCap)
|
|
1864
|
+
throw fallbackError;
|
|
1865
|
+
return result;
|
|
1866
|
+
}
|
|
1867
|
+
}
|
|
1868
|
+
})();
|
|
1869
|
+
const rows = result.rows.map((r) => ({
|
|
1806
1870
|
blockNum: Number(Value.toNumber(r['block_num'])),
|
|
1807
1871
|
blockTimestamp: Number(Value.toNumber(r['block_timestamp'])),
|
|
1808
1872
|
data: null,
|
|
@@ -1822,6 +1886,7 @@ export function tidx(deps) {
|
|
|
1822
1886
|
txIdx: Number(Value.toNumber(r['tx_idx'])),
|
|
1823
1887
|
txSender: null,
|
|
1824
1888
|
}));
|
|
1889
|
+
return mergeAndSort([], rows, []).slice(0, limit * 4);
|
|
1825
1890
|
}
|
|
1826
1891
|
return {
|
|
1827
1892
|
cursorForGroup(group) {
|