tapimo 0.14.0 → 0.15.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 +7 -4
- package/dist/ApiKey.js +1 -1
- package/dist/ApiKey.js.map +1 -1
- package/dist/ApiKeys.d.ts +95 -14
- package/dist/ApiKeys.d.ts.map +1 -1
- package/dist/ApiKeys.js +360 -49
- package/dist/ApiKeys.js.map +1 -1
- package/dist/App.d.ts +12457 -10365
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +300 -22
- package/dist/App.js.map +1 -1
- package/dist/Assets.d.ts.map +1 -1
- package/dist/Assets.js +2 -1
- package/dist/Assets.js.map +1 -1
- package/dist/Handler.d.ts +0 -1
- package/dist/Handler.d.ts.map +1 -1
- package/dist/Handler.js +0 -1
- package/dist/Handler.js.map +1 -1
- package/dist/Scope.d.ts +13 -5
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +16 -5
- package/dist/Scope.js.map +1 -1
- package/dist/Webhooks.js +1 -1
- package/dist/Webhooks.js.map +1 -1
- package/dist/admin/App.d.ts +3057 -549
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/App.js +26 -5
- package/dist/admin/App.js.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +159 -7
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +95 -43
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/earn-vaults.d.ts +1398 -0
- package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
- package/dist/admin/apps/earn-vaults.js +463 -7
- package/dist/admin/apps/earn-vaults.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts +267 -15
- package/dist/admin/apps/organizations.d.ts.map +1 -1
- package/dist/admin/apps/organizations.js +241 -25
- package/dist/admin/apps/organizations.js.map +1 -1
- package/dist/admin/apps/routes-support.d.ts +95 -0
- package/dist/admin/apps/routes-support.d.ts.map +1 -0
- package/dist/admin/apps/routes-support.js +151 -0
- package/dist/admin/apps/routes-support.js.map +1 -0
- package/dist/admin/apps/routes.d.ts +2764 -0
- package/dist/admin/apps/routes.d.ts.map +1 -0
- package/dist/admin/apps/routes.js +728 -0
- package/dist/admin/apps/routes.js.map +1 -0
- package/dist/admin/apps/subsidies.d.ts +501 -0
- package/dist/admin/apps/subsidies.d.ts.map +1 -0
- package/dist/admin/apps/subsidies.js +384 -0
- package/dist/admin/apps/subsidies.js.map +1 -0
- package/dist/admin/apps/verified-tokens.d.ts +88 -88
- package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.js +3 -3
- package/dist/admin/apps/verified-tokens.js.map +1 -1
- 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 +129 -69
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/analytics/Analytics.d.ts +5 -2
- package/dist/analytics/Analytics.d.ts.map +1 -1
- package/dist/analytics/Analytics.js +31 -1
- package/dist/analytics/Analytics.js.map +1 -1
- package/dist/analytics/tables/requestEvents.d.ts +2 -1
- package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
- package/dist/analytics/tables/requestEvents.js +10 -1
- package/dist/analytics/tables/requestEvents.js.map +1 -1
- package/dist/analytics/tables/routesLifecycleIntervals.d.ts +72 -0
- package/dist/analytics/tables/routesLifecycleIntervals.d.ts.map +1 -0
- package/dist/analytics/tables/routesLifecycleIntervals.js +56 -0
- package/dist/analytics/tables/routesLifecycleIntervals.js.map +1 -0
- package/dist/apps/Zones.d.ts +21 -12526
- package/dist/apps/Zones.d.ts.map +1 -1
- package/dist/apps/Zones.js +37 -5
- package/dist/apps/Zones.js.map +1 -1
- package/dist/apps/data/App.d.ts +3971 -2595
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +76 -21
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +364 -34
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +495 -190
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +72 -0
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +37 -37
- package/dist/apps/data/routes/coingecko.d.ts.map +1 -1
- package/dist/apps/data/routes/coingecko.js +47 -21
- package/dist/apps/data/routes/coingecko.js.map +1 -1
- package/dist/apps/data/routes/earn.d.ts +1450 -337
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +1226 -144
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/fee-amm.d.ts +5 -0
- package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
- package/dist/apps/data/routes/fee-amm.js +31 -19
- package/dist/apps/data/routes/fee-amm.js.map +1 -1
- package/dist/apps/data/routes/indexer.d.ts +125 -0
- package/dist/apps/data/routes/indexer.d.ts.map +1 -1
- package/dist/apps/data/routes/indexer.js +83 -27
- package/dist/apps/data/routes/indexer.js.map +1 -1
- package/dist/apps/data/routes/rpc.d.ts +507 -33
- package/dist/apps/data/routes/rpc.d.ts.map +1 -1
- package/dist/apps/data/routes/rpc.js +266 -156
- package/dist/apps/data/routes/rpc.js.map +1 -1
- package/dist/apps/data/routes/tokenlist.d.ts +47 -15
- package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
- package/dist/apps/data/routes/tokenlist.js +68 -11
- package/dist/apps/data/routes/tokenlist.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/tokens.js +26 -14
- package/dist/apps/data/routes/tokens.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts +28 -12
- package/dist/apps/data/routes/transfers.d.ts.map +1 -1
- package/dist/apps/data/routes/transfers.js +9 -7
- package/dist/apps/data/routes/transfers.js.map +1 -1
- package/dist/apps/data/routes/valuation.d.ts +30 -30
- package/dist/apps/data/routes/verified-tokens.d.ts +9 -9
- package/dist/apps/data/routes/verified-tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/verified-tokens.js +64 -20
- package/dist/apps/data/routes/verified-tokens.js.map +1 -1
- package/dist/apps/data/routes/webhooks.d.ts +613 -176
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +291 -195
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts.map +1 -1
- package/dist/apps/data/routes/zones.js +20 -12
- package/dist/apps/data/routes/zones.js.map +1 -1
- package/dist/apps/docs/reference.js +2 -2
- package/dist/apps/docs/reference.js.map +1 -1
- package/dist/apps/index.d.ts +1 -1
- package/dist/apps/index.d.ts.map +1 -1
- package/dist/apps/index.js +1 -1
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/management/App.d.ts +3763 -3385
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/App.js +5 -14
- package/dist/apps/management/App.js.map +1 -1
- package/dist/apps/management/Billing.d.ts +48 -7
- package/dist/apps/management/Billing.d.ts.map +1 -1
- package/dist/apps/management/Billing.js +204 -25
- package/dist/apps/management/Billing.js.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +106 -4
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +43 -15
- package/dist/apps/management/routes/api-keys.js.map +1 -1
- package/dist/apps/management/routes/billing.d.ts +290 -4
- package/dist/apps/management/routes/billing.d.ts.map +1 -1
- package/dist/apps/management/routes/billing.js +274 -49
- package/dist/apps/management/routes/billing.js.map +1 -1
- package/dist/apps/management/routes/faucet.d.ts +6 -6
- package/dist/apps/management/routes/faucet.js +1 -1
- package/dist/apps/management/routes/faucet.js.map +1 -1
- package/dist/apps/management/routes/invitations.d.ts +77 -2
- package/dist/apps/management/routes/invitations.d.ts.map +1 -1
- package/dist/apps/management/routes/invitations.js +117 -13
- package/dist/apps/management/routes/invitations.js.map +1 -1
- package/dist/apps/management/routes/invite-links.d.ts +4 -4
- package/dist/apps/management/routes/me.d.ts.map +1 -1
- package/dist/apps/management/routes/me.js +6 -2
- package/dist/apps/management/routes/me.js.map +1 -1
- package/dist/apps/management/routes/members.d.ts +30 -30
- package/dist/apps/management/routes/orgs.d.ts +18 -2
- package/dist/apps/management/routes/orgs.d.ts.map +1 -1
- package/dist/apps/management/routes/orgs.js +52 -12
- package/dist/apps/management/routes/orgs.js.map +1 -1
- package/dist/apps/management/routes/projects.d.ts +4 -4
- package/dist/apps/management/routes/projects.d.ts.map +1 -1
- package/dist/apps/management/routes/projects.js +6 -1
- package/dist/apps/management/routes/projects.js.map +1 -1
- package/dist/apps/management/routes/scopes.d.ts.map +1 -1
- package/dist/apps/management/routes/scopes.js +4 -1
- package/dist/apps/management/routes/scopes.js.map +1 -1
- package/dist/apps/management/routes/usage.d.ts +24 -24
- package/dist/apps/management/routes/usage.js +21 -4
- package/dist/apps/management/routes/usage.js.map +1 -1
- package/dist/apps/management/routes/verified-token-requests.d.ts +2 -2
- package/dist/apps/management/routes/webhooks.d.ts +280 -214
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/management/routes/webhooks.js +58 -12
- package/dist/apps/management/routes/webhooks.js.map +1 -1
- package/dist/apps/mcp.d.ts +1 -1
- package/dist/apps/mcp.js +7 -7
- package/dist/apps/mcp.js.map +1 -1
- package/dist/apps/mpp/App.d.ts.map +1 -1
- package/dist/apps/mpp/App.js +35 -7
- package/dist/apps/mpp/App.js.map +1 -1
- package/dist/apps/mpp/internal/Adapter.d.ts +2 -0
- package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Adapter.js +30 -1
- package/dist/apps/mpp/internal/Adapter.js.map +1 -1
- package/dist/apps/mpp/internal/Policy.d.ts +22 -4
- package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Policy.js +24 -6
- package/dist/apps/mpp/internal/Policy.js.map +1 -1
- package/dist/apps/mpp/internal/Sponsorship.d.ts +3 -0
- package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Sponsorship.js +6 -3
- package/dist/apps/mpp/internal/Sponsorship.js.map +1 -1
- package/dist/apps/relay/App.d.ts +2 -0
- package/dist/apps/relay/App.d.ts.map +1 -1
- package/dist/apps/relay/App.js +134 -75
- package/dist/apps/relay/App.js.map +1 -1
- package/dist/apps/relay/Sponsorships.d.ts +5 -3
- package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
- package/dist/apps/relay/Sponsorships.js +209 -28
- package/dist/apps/relay/Sponsorships.js.map +1 -1
- package/dist/apps/{funding → routes}/Access.d.ts +4 -4
- package/dist/apps/routes/Access.d.ts.map +1 -0
- package/dist/apps/{funding → routes}/Access.js +4 -4
- package/dist/apps/routes/Access.js.map +1 -0
- package/dist/apps/{funding → routes}/App.d.ts +418 -124
- package/dist/apps/{funding → routes}/App.d.ts.map +1 -1
- package/dist/apps/{funding → routes}/App.js +16 -16
- package/dist/apps/routes/App.js.map +1 -0
- package/dist/apps/routes/Inventory.d.ts.map +1 -0
- package/dist/apps/{funding → routes}/Inventory.js +2 -2
- package/dist/apps/routes/Inventory.js.map +1 -0
- package/dist/apps/routes/index.d.ts +2 -0
- package/dist/apps/routes/index.d.ts.map +1 -0
- package/dist/apps/routes/index.js +2 -0
- package/dist/apps/routes/index.js.map +1 -0
- package/dist/apps/{funding → routes}/routes/chains.d.ts +7 -7
- package/dist/apps/routes/routes/chains.d.ts.map +1 -0
- package/dist/apps/{funding → routes}/routes/chains.js +25 -25
- package/dist/apps/routes/routes/chains.js.map +1 -0
- package/dist/apps/{funding → routes}/routes/deposit-addresses.d.ts +107 -43
- package/dist/apps/routes/routes/deposit-addresses.d.ts.map +1 -0
- package/dist/apps/{funding → routes}/routes/deposit-addresses.js +497 -222
- package/dist/apps/routes/routes/deposit-addresses.js.map +1 -0
- package/dist/apps/{funding → routes}/routes/providers.d.ts +8 -8
- package/dist/apps/routes/routes/providers.d.ts.map +1 -0
- package/dist/apps/routes/routes/providers.js +57 -0
- package/dist/apps/routes/routes/providers.js.map +1 -0
- package/dist/apps/{funding → routes}/routes/quotes.d.ts +19 -16
- package/dist/apps/routes/routes/quotes.d.ts.map +1 -0
- package/dist/apps/{funding → routes}/routes/quotes.js +55 -38
- package/dist/apps/routes/routes/quotes.js.map +1 -0
- package/dist/apps/{funding → routes}/routes/transfers.d.ts +379 -74
- package/dist/apps/routes/routes/transfers.d.ts.map +1 -0
- package/dist/apps/routes/routes/transfers.js +1140 -0
- package/dist/apps/routes/routes/transfers.js.map +1 -0
- package/dist/cli/Cli.d.ts +30 -0
- package/dist/cli/Cli.d.ts.map +1 -1
- package/dist/cli/commands/admin.d.ts +36 -0
- package/dist/cli/commands/admin.d.ts.map +1 -1
- package/dist/cli/commands/admin.js +273 -0
- package/dist/cli/commands/admin.js.map +1 -1
- package/dist/cloudflare.d.ts +16 -14
- package/dist/cloudflare.d.ts.map +1 -1
- package/dist/cloudflare.js +26 -21
- package/dist/cloudflare.js.map +1 -1
- package/dist/db/Db.d.ts +63 -21
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +1030 -15
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +780 -133
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +575 -162
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/apiKeyAdmissionBootstraps.d.ts +4 -0
- package/dist/db/tables/apiKeyAdmissionBootstraps.d.ts.map +1 -0
- package/dist/db/tables/apiKeyAdmissionBootstraps.js +2 -0
- package/dist/db/tables/apiKeyAdmissionBootstraps.js.map +1 -0
- package/dist/db/tables/apiKeyAdmissions.d.ts +73 -0
- package/dist/db/tables/apiKeyAdmissions.d.ts.map +1 -0
- package/dist/db/tables/apiKeyAdmissions.js +142 -0
- package/dist/db/tables/apiKeyAdmissions.js.map +1 -0
- package/dist/db/tables/apiKeyOwnerAdmissions.d.ts +4 -0
- package/dist/db/tables/apiKeyOwnerAdmissions.d.ts.map +1 -0
- package/dist/db/tables/apiKeyOwnerAdmissions.js +2 -0
- package/dist/db/tables/apiKeyOwnerAdmissions.js.map +1 -0
- package/dist/db/tables/apiKeyOwnerTombstones.d.ts +20 -0
- package/dist/db/tables/apiKeyOwnerTombstones.d.ts.map +1 -0
- package/dist/db/tables/apiKeyOwnerTombstones.js +57 -0
- package/dist/db/tables/apiKeyOwnerTombstones.js.map +1 -0
- package/dist/db/tables/apiKeyRevocations.d.ts +21 -0
- package/dist/db/tables/apiKeyRevocations.d.ts.map +1 -0
- package/dist/db/tables/apiKeyRevocations.js +98 -0
- package/dist/db/tables/apiKeyRevocations.js.map +1 -0
- package/dist/db/tables/authAccounts.d.ts +47 -0
- package/dist/db/tables/authAccounts.d.ts.map +1 -0
- package/dist/db/tables/authAccounts.js +72 -0
- package/dist/db/tables/authAccounts.js.map +1 -0
- package/dist/db/tables/authSessions.d.ts +12 -0
- package/dist/db/tables/authSessions.d.ts.map +1 -0
- package/dist/db/tables/authSessions.js +2 -0
- package/dist/db/tables/authSessions.js.map +1 -0
- package/dist/db/tables/authVerifications.d.ts +12 -0
- package/dist/db/tables/authVerifications.d.ts.map +1 -0
- package/dist/db/tables/authVerifications.js +2 -0
- package/dist/db/tables/authVerifications.js.map +1 -0
- package/dist/db/tables/invitations.d.ts +17 -1
- package/dist/db/tables/invitations.d.ts.map +1 -1
- package/dist/db/tables/invitations.js +123 -43
- package/dist/db/tables/invitations.js.map +1 -1
- package/dist/db/tables/memberships.d.ts +8 -0
- package/dist/db/tables/memberships.d.ts.map +1 -1
- package/dist/db/tables/memberships.js +51 -2
- package/dist/db/tables/memberships.js.map +1 -1
- package/dist/db/tables/organizations.d.ts +32 -10
- package/dist/db/tables/organizations.d.ts.map +1 -1
- package/dist/db/tables/organizations.js +110 -49
- package/dist/db/tables/organizations.js.map +1 -1
- package/dist/db/tables/projects.d.ts +2 -0
- package/dist/db/tables/projects.d.ts.map +1 -1
- package/dist/db/tables/projects.js +12 -3
- package/dist/db/tables/projects.js.map +1 -1
- package/dist/db/tables/requestUsage.d.ts.map +1 -1
- package/dist/db/tables/requestUsage.js.map +1 -1
- package/dist/db/tables/rewardAccounts.d.ts +86 -0
- package/dist/db/tables/rewardAccounts.d.ts.map +1 -0
- package/dist/db/tables/rewardAccounts.js +88 -0
- package/dist/db/tables/rewardAccounts.js.map +1 -0
- package/dist/db/tables/rewardCampaignDistributors.d.ts +36 -0
- package/dist/db/tables/rewardCampaignDistributors.d.ts.map +1 -0
- package/dist/db/tables/rewardCampaignDistributors.js +30 -0
- package/dist/db/tables/rewardCampaignDistributors.js.map +1 -0
- package/dist/db/tables/rewardCampaigns.d.ts +171 -0
- package/dist/db/tables/rewardCampaigns.d.ts.map +1 -0
- package/dist/db/tables/rewardCampaigns.js +392 -0
- package/dist/db/tables/rewardCampaigns.js.map +1 -0
- package/dist/db/tables/rewardCredits.d.ts +53 -0
- package/dist/db/tables/rewardCredits.d.ts.map +1 -0
- package/dist/db/tables/rewardCredits.js +63 -0
- package/dist/db/tables/rewardCredits.js.map +1 -0
- package/dist/db/tables/rewardEligibilityAssociations.d.ts +61 -0
- package/dist/db/tables/rewardEligibilityAssociations.d.ts.map +1 -0
- package/dist/db/tables/rewardEligibilityAssociations.js +103 -0
- package/dist/db/tables/rewardEligibilityAssociations.js.map +1 -0
- package/dist/db/tables/rewardRuns.d.ts +188 -0
- package/dist/db/tables/rewardRuns.d.ts.map +1 -0
- package/dist/db/tables/rewardRuns.js +278 -0
- package/dist/db/tables/rewardRuns.js.map +1 -0
- package/dist/db/tables/rewardTransactionAttempts.d.ts +100 -0
- package/dist/db/tables/rewardTransactionAttempts.d.ts.map +1 -0
- package/dist/db/tables/rewardTransactionAttempts.js +163 -0
- package/dist/db/tables/rewardTransactionAttempts.js.map +1 -0
- package/dist/db/tables/routesCatalog.d.ts +58 -0
- package/dist/db/tables/routesCatalog.d.ts.map +1 -0
- package/dist/db/tables/{fundingCatalog.js → routesCatalog.js} +19 -19
- package/dist/db/tables/routesCatalog.js.map +1 -0
- package/dist/db/tables/routesDepositAddresses.d.ts +476 -0
- package/dist/db/tables/routesDepositAddresses.d.ts.map +1 -0
- package/dist/db/tables/routesDepositAddresses.js +587 -0
- package/dist/db/tables/routesDepositAddresses.js.map +1 -0
- package/dist/db/tables/{fundingDepositRequestObservations.d.ts → routesDepositRequestObservations.d.ts} +6 -6
- package/dist/db/tables/routesDepositRequestObservations.d.ts.map +1 -0
- package/dist/db/tables/{fundingDepositRequestObservations.js → routesDepositRequestObservations.js} +6 -6
- package/dist/db/tables/routesDepositRequestObservations.js.map +1 -0
- package/dist/db/tables/{fundingDeposits.d.ts → routesDeposits.d.ts} +210 -22
- package/dist/db/tables/routesDeposits.d.ts.map +1 -0
- package/dist/db/tables/routesDeposits.js +576 -0
- package/dist/db/tables/routesDeposits.js.map +1 -0
- package/dist/db/tables/routesIdempotency.d.ts +166 -0
- package/dist/db/tables/routesIdempotency.d.ts.map +1 -0
- package/dist/db/tables/routesIdempotency.js +330 -0
- package/dist/db/tables/routesIdempotency.js.map +1 -0
- package/dist/db/tables/routesSubsidies.d.ts +27 -0
- package/dist/db/tables/routesSubsidies.d.ts.map +1 -0
- package/dist/db/tables/routesSubsidies.js +45 -0
- package/dist/db/tables/routesSubsidies.js.map +1 -0
- package/dist/db/tables/{fundingTransferEvents.d.ts → routesTransferEvents.d.ts} +3 -3
- package/dist/db/tables/routesTransferEvents.d.ts.map +1 -0
- package/dist/db/tables/{fundingTransferEvents.js → routesTransferEvents.js} +3 -3
- package/dist/db/tables/routesTransferEvents.js.map +1 -0
- package/dist/db/tables/routesTransferSubsidies.d.ts +19 -0
- package/dist/db/tables/routesTransferSubsidies.d.ts.map +1 -0
- package/dist/db/tables/routesTransferSubsidies.js +17 -0
- package/dist/db/tables/routesTransferSubsidies.js.map +1 -0
- package/dist/db/tables/routesTransferSubsidyNonces.d.ts +51 -0
- package/dist/db/tables/routesTransferSubsidyNonces.d.ts.map +1 -0
- package/dist/db/tables/routesTransferSubsidyNonces.js +82 -0
- package/dist/db/tables/routesTransferSubsidyNonces.js.map +1 -0
- package/dist/db/tables/routesTransferTransactions.d.ts +77 -0
- package/dist/db/tables/routesTransferTransactions.d.ts.map +1 -0
- package/dist/db/tables/{fundingTransferTransactions.js → routesTransferTransactions.js} +31 -13
- package/dist/db/tables/routesTransferTransactions.js.map +1 -0
- package/dist/db/tables/routesTransfers.d.ts +319 -0
- package/dist/db/tables/routesTransfers.d.ts.map +1 -0
- package/dist/db/tables/routesTransfers.js +372 -0
- package/dist/db/tables/routesTransfers.js.map +1 -0
- package/dist/db/tables/sponsoredTransactions.d.ts +75 -20
- package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
- package/dist/db/tables/sponsoredTransactions.js +124 -54
- package/dist/db/tables/sponsoredTransactions.js.map +1 -1
- package/dist/db/tables/sponsorshipAttributions.d.ts +69 -0
- package/dist/db/tables/sponsorshipAttributions.d.ts.map +1 -0
- package/dist/db/tables/sponsorshipAttributions.js +77 -0
- package/dist/db/tables/sponsorshipAttributions.js.map +1 -0
- package/dist/db/tables/sponsorshipReconciliationCursors.d.ts +22 -0
- package/dist/db/tables/sponsorshipReconciliationCursors.d.ts.map +1 -0
- package/dist/db/tables/sponsorshipReconciliationCursors.js +45 -0
- package/dist/db/tables/sponsorshipReconciliationCursors.js.map +1 -0
- package/dist/db/tables/stripeCustomers.d.ts +11 -0
- package/dist/db/tables/stripeCustomers.d.ts.map +1 -1
- package/dist/db/tables/stripeCustomers.js +13 -0
- package/dist/db/tables/stripeCustomers.js.map +1 -1
- package/dist/db/tables/users.d.ts +17 -1
- package/dist/db/tables/users.d.ts.map +1 -1
- package/dist/db/tables/users.js +47 -2
- package/dist/db/tables/users.js.map +1 -1
- package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
- package/dist/db/tables/webhookQueueEvents.js +5 -1
- package/dist/db/tables/webhookQueueEvents.js.map +1 -1
- package/dist/db/tables/webhookSubscriptions.d.ts +19 -11
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +45 -13
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/handlers/internal/executionError.d.ts +2 -2
- package/dist/handlers/internal/executionError.d.ts.map +1 -1
- package/dist/handlers/internal/executionError.js +1 -2
- package/dist/handlers/internal/executionError.js.map +1 -1
- package/dist/handlers/internal/multisig.d.ts +4 -232
- package/dist/handlers/internal/multisig.d.ts.map +1 -1
- package/dist/handlers/internal/multisig.js +11 -537
- package/dist/handlers/internal/multisig.js.map +1 -1
- package/dist/handlers/internal/sponsorship.d.ts +19 -8
- package/dist/handlers/internal/sponsorship.d.ts.map +1 -1
- package/dist/handlers/internal/sponsorship.js +13 -9
- package/dist/handlers/internal/sponsorship.js.map +1 -1
- package/dist/handlers/relay.d.ts +9 -12
- package/dist/handlers/relay.d.ts.map +1 -1
- package/dist/handlers/relay.js +81 -85
- package/dist/handlers/relay.js.map +1 -1
- package/dist/index.d.ts +0 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +1 -1
- package/dist/internal/AssetResponse.d.ts +12 -0
- package/dist/internal/AssetResponse.d.ts.map +1 -0
- package/dist/internal/AssetResponse.js +21 -0
- package/dist/internal/AssetResponse.js.map +1 -0
- package/dist/internal/Auth.d.ts +48 -12
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +603 -175
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/BetterAuth.d.ts +1488 -0
- package/dist/internal/BetterAuth.d.ts.map +1 -0
- package/dist/internal/BetterAuth.js +253 -0
- package/dist/internal/BetterAuth.js.map +1 -0
- package/dist/internal/Cache.d.ts +2 -0
- package/dist/internal/Cache.d.ts.map +1 -1
- package/dist/internal/Cache.js +2 -0
- package/dist/internal/Cache.js.map +1 -1
- package/dist/internal/EarnRates.d.ts +26 -3
- package/dist/internal/EarnRates.d.ts.map +1 -1
- package/dist/internal/EarnRates.js +84 -19
- package/dist/internal/EarnRates.js.map +1 -1
- package/dist/internal/EarnSharePrices.d.ts +120 -0
- package/dist/internal/EarnSharePrices.d.ts.map +1 -0
- package/dist/internal/EarnSharePrices.js +179 -0
- package/dist/internal/EarnSharePrices.js.map +1 -0
- package/dist/internal/EarnVaults.d.ts +4 -0
- package/dist/internal/EarnVaults.d.ts.map +1 -1
- package/dist/internal/EarnVaults.js +27 -10
- package/dist/internal/EarnVaults.js.map +1 -1
- package/dist/internal/Email.d.ts +37 -0
- package/dist/internal/Email.d.ts.map +1 -0
- package/dist/internal/Email.js +16 -0
- package/dist/internal/Email.js.map +1 -0
- package/dist/internal/Log.d.ts +32 -28
- package/dist/internal/Log.d.ts.map +1 -1
- package/dist/internal/Log.js +18 -11
- package/dist/internal/Log.js.map +1 -1
- package/dist/internal/MetricSink.d.ts +3 -0
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +67 -8
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/Mpp.d.ts.map +1 -1
- package/dist/internal/Mpp.js +20 -25
- package/dist/internal/Mpp.js.map +1 -1
- package/dist/internal/OpenApi.d.ts +26 -3
- package/dist/internal/OpenApi.d.ts.map +1 -1
- package/dist/internal/OpenApi.js +25 -10
- package/dist/internal/OpenApi.js.map +1 -1
- package/dist/internal/Provider.d.ts +1 -1
- package/dist/internal/Provider.d.ts.map +1 -1
- package/dist/internal/RateLimit.d.ts.map +1 -1
- package/dist/internal/RateLimit.js +13 -1
- package/dist/internal/RateLimit.js.map +1 -1
- package/dist/internal/Store.d.ts +16 -0
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +59 -8
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/Tidx.d.ts +9 -2
- package/dist/internal/Tidx.d.ts.map +1 -1
- package/dist/internal/Tidx.js +78 -11
- package/dist/internal/Tidx.js.map +1 -1
- package/dist/internal/Timing.d.ts +26 -0
- package/dist/internal/Timing.d.ts.map +1 -1
- package/dist/internal/Timing.js +63 -5
- package/dist/internal/Timing.js.map +1 -1
- package/dist/internal/VercelOidc.d.ts +94 -0
- package/dist/internal/VercelOidc.d.ts.map +1 -0
- package/dist/internal/VercelOidc.js +128 -0
- package/dist/internal/VercelOidc.js.map +1 -0
- package/dist/internal/VerifiedTokens.d.ts +2 -8
- package/dist/internal/VerifiedTokens.d.ts.map +1 -1
- package/dist/internal/VerifiedTokens.js +24 -24
- package/dist/internal/VerifiedTokens.js.map +1 -1
- package/dist/internal/Viem.d.ts +30 -2067
- package/dist/internal/Viem.d.ts.map +1 -1
- package/dist/internal/Viem.js +167 -17
- package/dist/internal/Viem.js.map +1 -1
- package/dist/internal/Webhooks.d.ts +12 -4
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +9 -3
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/ZoneRpc.d.ts +7 -0
- package/dist/internal/ZoneRpc.d.ts.map +1 -0
- package/dist/internal/ZoneRpc.js +49 -0
- package/dist/internal/ZoneRpc.js.map +1 -0
- package/dist/internal/index.d.ts +3 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +3 -1
- package/dist/internal/index.js.map +1 -1
- package/dist/internal/rewards/Audit.d.ts +88 -0
- package/dist/internal/rewards/Audit.d.ts.map +1 -0
- package/dist/internal/rewards/Audit.js +134 -0
- package/dist/internal/rewards/Audit.js.map +1 -0
- package/dist/internal/rewards/Campaigns.d.ts +572 -0
- package/dist/internal/rewards/Campaigns.d.ts.map +1 -0
- package/dist/internal/rewards/Campaigns.js +531 -0
- package/dist/internal/rewards/Campaigns.js.map +1 -0
- package/dist/internal/rewards/Credits.d.ts +76 -0
- package/dist/internal/rewards/Credits.d.ts.map +1 -0
- package/dist/internal/rewards/Credits.js +95 -0
- package/dist/internal/rewards/Credits.js.map +1 -0
- package/dist/internal/rewards/Events.d.ts +100 -0
- package/dist/internal/rewards/Events.d.ts.map +1 -0
- package/dist/internal/rewards/Events.js +340 -0
- package/dist/internal/rewards/Events.js.map +1 -0
- package/dist/internal/rewards/Projection.d.ts +237 -0
- package/dist/internal/rewards/Projection.d.ts.map +1 -0
- package/dist/internal/rewards/Projection.js +616 -0
- package/dist/internal/rewards/Projection.js.map +1 -0
- package/dist/internal/rewards/Rates.d.ts +44 -0
- package/dist/internal/rewards/Rates.d.ts.map +1 -0
- package/dist/internal/rewards/Rates.js +60 -0
- package/dist/internal/rewards/Rates.js.map +1 -0
- package/dist/internal/rewards/Read.d.ts +158 -0
- package/dist/internal/rewards/Read.d.ts.map +1 -0
- package/dist/internal/rewards/Read.js +292 -0
- package/dist/internal/rewards/Read.js.map +1 -0
- package/dist/internal/rewards/Runner.d.ts +164 -0
- package/dist/internal/rewards/Runner.d.ts.map +1 -0
- package/dist/internal/rewards/Runner.js +1778 -0
- package/dist/internal/rewards/Runner.js.map +1 -0
- package/dist/internal/rewards/Signer.d.ts +224 -0
- package/dist/internal/rewards/Signer.d.ts.map +1 -0
- package/dist/internal/rewards/Signer.js +135 -0
- package/dist/internal/rewards/Signer.js.map +1 -0
- package/dist/internal/rewards/index.d.ts +15 -0
- package/dist/internal/rewards/index.d.ts.map +1 -0
- package/dist/internal/rewards/index.js +15 -0
- package/dist/internal/rewards/index.js.map +1 -0
- package/dist/internal/{funding → routes}/Action.d.ts +12 -1
- package/dist/internal/routes/Action.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Action.js +17 -9
- package/dist/internal/routes/Action.js.map +1 -0
- package/dist/internal/{funding → routes}/Catalog.d.ts +20 -20
- package/dist/internal/routes/Catalog.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Catalog.js +29 -29
- package/dist/internal/routes/Catalog.js.map +1 -0
- package/dist/internal/{funding → routes}/Chain.d.ts +10 -10
- package/dist/internal/routes/Chain.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Chain.js +3 -3
- package/dist/internal/routes/Chain.js.map +1 -0
- package/dist/internal/{funding → routes}/Deposit.d.ts +45 -23
- package/dist/internal/routes/Deposit.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Deposit.js +60 -27
- package/dist/internal/routes/Deposit.js.map +1 -0
- package/dist/internal/{funding → routes}/DepositAddress.d.ts +56 -27
- package/dist/internal/routes/DepositAddress.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/DepositAddress.js +95 -33
- package/dist/internal/routes/DepositAddress.js.map +1 -0
- package/dist/internal/{funding → routes}/DepositWebhook.d.ts +4 -4
- package/dist/internal/routes/DepositWebhook.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/DepositWebhook.js +4 -4
- package/dist/internal/routes/DepositWebhook.js.map +1 -0
- package/dist/internal/routes/Economics.d.ts +25 -0
- package/dist/internal/routes/Economics.d.ts.map +1 -0
- package/dist/internal/routes/Economics.js +28 -0
- package/dist/internal/routes/Economics.js.map +1 -0
- package/dist/internal/{funding → routes}/Evidence.d.ts +3 -3
- package/dist/internal/routes/Evidence.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Evidence.js +7 -7
- package/dist/internal/routes/Evidence.js.map +1 -0
- package/dist/internal/routes/Observability.d.ts +154 -0
- package/dist/internal/routes/Observability.d.ts.map +1 -0
- package/dist/internal/routes/Observability.js +389 -0
- package/dist/internal/routes/Observability.js.map +1 -0
- package/dist/internal/{funding → routes}/Provider.d.ts +311 -105
- package/dist/internal/routes/Provider.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Provider.js +229 -98
- package/dist/internal/routes/Provider.js.map +1 -0
- package/dist/internal/{funding → routes}/Reconciliation.d.ts +11 -6
- package/dist/internal/routes/Reconciliation.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Reconciliation.js +408 -158
- package/dist/internal/routes/Reconciliation.js.map +1 -0
- package/dist/internal/routes/Route.d.ts +21 -0
- package/dist/internal/routes/Route.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Route.js +1 -1
- package/dist/internal/routes/Route.js.map +1 -0
- package/dist/internal/{funding → routes}/SourceObservation.d.ts +6 -6
- package/dist/internal/routes/SourceObservation.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/SourceObservation.js +8 -8
- package/dist/internal/routes/SourceObservation.js.map +1 -0
- package/dist/internal/{funding → routes}/Subsidy.d.ts +48 -3
- package/dist/internal/routes/Subsidy.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Subsidy.js +43 -3
- package/dist/internal/routes/Subsidy.js.map +1 -0
- package/dist/internal/{funding → routes}/Token.d.ts +4 -4
- package/dist/internal/routes/Token.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/Token.js +3 -3
- package/dist/internal/routes/Token.js.map +1 -0
- package/dist/internal/{funding → routes}/Transfer.d.ts +241 -46
- package/dist/internal/routes/Transfer.d.ts.map +1 -0
- package/dist/internal/routes/Transfer.js +728 -0
- package/dist/internal/routes/Transfer.js.map +1 -0
- package/dist/internal/{funding → routes}/TransferReconciliation.d.ts +13 -10
- package/dist/internal/routes/TransferReconciliation.d.ts.map +1 -0
- package/dist/internal/routes/TransferReconciliation.js +422 -0
- package/dist/internal/routes/TransferReconciliation.js.map +1 -0
- package/dist/internal/routes/TransferSubsidy.d.ts +201 -0
- package/dist/internal/routes/TransferSubsidy.d.ts.map +1 -0
- package/dist/internal/routes/TransferSubsidy.js +256 -0
- package/dist/internal/routes/TransferSubsidy.js.map +1 -0
- package/dist/internal/{funding → routes}/TransferWebhook.d.ts +5 -5
- package/dist/internal/routes/TransferWebhook.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/TransferWebhook.js +3 -3
- package/dist/internal/routes/TransferWebhook.js.map +1 -0
- package/dist/internal/{funding → routes}/index.d.ts +2 -0
- package/dist/internal/routes/index.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/index.js +2 -0
- package/dist/internal/routes/index.js.map +1 -0
- package/dist/internal/{funding → routes}/providers/across.d.ts +4 -4
- package/dist/internal/routes/providers/across.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/providers/across.js +13 -13
- package/dist/internal/routes/providers/across.js.map +1 -0
- package/dist/internal/{funding → routes}/providers/relay.d.ts +21 -12
- package/dist/internal/routes/providers/relay.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/providers/relay.js +194 -110
- package/dist/internal/routes/providers/relay.js.map +1 -0
- package/dist/internal/{funding → routes}/providers/rhino.d.ts +4 -4
- package/dist/internal/routes/providers/rhino.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/providers/rhino.js +10 -10
- package/dist/internal/routes/providers/rhino.js.map +1 -0
- package/dist/internal/{funding → routes}/providers/squid.d.ts +4 -4
- package/dist/internal/routes/providers/squid.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/providers/squid.js +14 -14
- package/dist/internal/routes/providers/squid.js.map +1 -0
- package/dist/internal/{funding → routes}/providers/stargate.d.ts +46 -18
- package/dist/internal/routes/providers/stargate.d.ts.map +1 -0
- package/dist/internal/routes/providers/stargate.js +898 -0
- package/dist/internal/routes/providers/stargate.js.map +1 -0
- package/dist/internal/{funding → routes}/providers/symbiosis.d.ts +4 -4
- package/dist/internal/routes/providers/symbiosis.d.ts.map +1 -0
- package/dist/internal/{funding → routes}/providers/symbiosis.js +30 -20
- package/dist/internal/routes/providers/symbiosis.js.map +1 -0
- package/dist/internal/webhookDestinations/slack.js +12 -12
- package/dist/internal/webhookDestinations/slack.js.map +1 -1
- package/dist/providers/index.d.ts +12 -12
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +12 -12
- package/dist/providers/index.js.map +1 -1
- package/dist/server.d.ts +19 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +19 -0
- package/dist/server.js.map +1 -0
- package/package.json +15 -4
- package/src/ApiKey.ts +1 -1
- package/src/ApiKeys.test.ts +1033 -3
- package/src/ApiKeys.ts +489 -48
- package/src/App.test-d.ts +1 -1
- package/src/App.test.ts +216 -25
- package/src/App.ts +334 -31
- package/src/Assets.test.ts +2 -2
- package/src/Assets.ts +3 -1
- package/src/Auth.test-d.ts +1 -1
- package/src/Client.test-d.ts +539 -110
- package/src/Handler.ts +0 -1
- package/src/OpenApi.contract.test.ts +195 -0
- package/src/Scope.ts +17 -5
- package/src/Webhooks.ts +1 -1
- package/src/admin/App.test.ts +30 -2
- package/src/admin/App.ts +42 -6
- package/src/admin/apps/api-keys.test.ts +267 -5
- package/src/admin/apps/api-keys.ts +100 -50
- package/src/admin/apps/earn-vaults.test.ts +158 -0
- package/src/admin/apps/earn-vaults.ts +679 -6
- package/src/admin/apps/organizations.test.ts +306 -17
- package/src/admin/apps/organizations.ts +299 -24
- package/src/admin/apps/routes-support.test.ts +200 -0
- package/src/admin/apps/routes-support.ts +201 -0
- package/src/admin/apps/routes.test.ts +450 -0
- package/src/admin/apps/routes.ts +896 -0
- package/src/admin/apps/scopes.test.ts +15 -5
- package/src/admin/apps/subsidies.test.ts +306 -0
- package/src/admin/apps/subsidies.ts +457 -0
- package/src/admin/apps/verified-tokens.test.ts +8 -3
- package/src/admin/apps/verified-tokens.ts +3 -3
- package/src/admin/ui/plugin.ts +1 -2
- package/src/admin/ui/src/components/RewardCampaignForm.tsx +1009 -0
- package/src/admin/ui/src/lib/config.ts +11 -2
- package/src/admin/ui/src/lib/earn-vaults.ts +2 -2
- package/src/admin/ui/src/lib/organizations.test.ts +83 -50
- package/src/admin/ui/src/lib/organizations.ts +106 -25
- package/src/admin/ui/src/lib/query-client.ts +1 -1
- package/src/admin/ui/src/lib/reward-campaigns.ts +136 -0
- package/src/admin/ui/src/lib/routes.test.ts +88 -0
- package/src/admin/ui/src/lib/routes.ts +304 -0
- package/src/admin/ui/src/lib/subsidies.ts +75 -0
- package/src/admin/ui/src/routeTree.gen.ts +63 -0
- package/src/admin/ui/src/routes/__root.tsx +12 -1
- package/src/admin/ui/src/routes/api-keys.tsx +196 -84
- package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +105 -70
- package/src/admin/ui/src/routes/organizations_.$orgId.tsx +239 -23
- package/src/admin/ui/src/routes/routes.tsx +1615 -0
- package/src/admin/ui/src/routes/routes_.support.tsx +248 -0
- package/src/admin/ui/src/routes/subsidies.tsx +799 -0
- package/src/admin/ui.generated.ts +144 -69
- package/src/analytics/Analytics.test.ts +108 -18
- package/src/analytics/Analytics.ts +38 -6
- package/src/analytics/tables/requestEvents.test.ts +100 -0
- package/src/analytics/tables/requestEvents.ts +10 -1
- package/src/analytics/tables/routesLifecycleIntervals.ts +140 -0
- package/src/apps/Zones.test.ts +15 -0
- package/src/apps/Zones.ts +52 -5
- package/src/apps/composition.test.ts +68 -60
- package/src/apps/data/App.test.ts +154 -2
- package/src/apps/data/App.ts +88 -28
- package/src/apps/data/routes/activities.test.ts +419 -7
- package/src/apps/data/routes/activities.ts +683 -216
- package/src/apps/data/routes/balances.test.ts +2 -2
- package/src/apps/data/routes/blocks.test.ts +46 -1
- package/src/apps/data/routes/coingecko.test.ts +419 -1
- package/src/apps/data/routes/coingecko.ts +309 -253
- package/src/apps/data/routes/earn.discovery.test.ts +274 -0
- package/src/apps/data/routes/earn.test.ts +1294 -17
- package/src/apps/data/routes/earn.ts +1838 -321
- package/src/apps/data/routes/exchanges.test.ts +12 -15
- package/src/apps/data/routes/fee-amm.test.ts +224 -0
- package/src/apps/data/routes/fee-amm.ts +191 -160
- package/src/apps/data/routes/indexer.test.ts +389 -0
- package/src/apps/data/routes/indexer.ts +165 -69
- package/src/apps/data/routes/receipts.test.ts +1 -1
- package/src/apps/data/routes/rpc.test.ts +352 -8
- package/src/apps/data/routes/rpc.ts +407 -219
- package/src/apps/data/routes/rpc.zone.test.ts +340 -0
- package/src/apps/data/routes/tokenlist.test.ts +285 -0
- package/src/apps/data/routes/tokenlist.ts +173 -88
- package/src/apps/data/routes/tokens.test.ts +93 -3
- package/src/apps/data/routes/tokens.ts +39 -23
- package/src/apps/data/routes/transactions.test.ts +1 -1
- package/src/apps/data/routes/transfers.test.ts +56 -24
- package/src/apps/data/routes/transfers.ts +19 -8
- package/src/apps/data/routes/valuation.test.ts +1 -1
- package/src/apps/data/routes/verified-tokens.test.ts +345 -0
- package/src/apps/data/routes/verified-tokens.ts +99 -29
- package/src/apps/data/routes/webhooks.test.ts +645 -83
- package/src/apps/data/routes/webhooks.ts +1089 -857
- package/src/apps/data/routes/zones.test.ts +148 -71
- package/src/apps/data/routes/zones.ts +71 -55
- package/src/apps/docs/reference.ts +2 -2
- package/src/apps/index.ts +1 -1
- package/src/apps/management/App.ts +9 -51
- package/src/apps/management/Billing.test.ts +375 -14
- package/src/apps/management/Billing.ts +265 -29
- package/src/apps/management/routes/api-keys.test.ts +269 -7
- package/src/apps/management/routes/api-keys.ts +61 -20
- package/src/apps/management/routes/billing.test.ts +477 -15
- package/src/apps/management/routes/billing.ts +377 -50
- package/src/apps/management/routes/faucet.test.ts +1 -1
- package/src/apps/management/routes/faucet.ts +1 -1
- package/src/apps/management/routes/invitations.test.ts +270 -3
- package/src/apps/management/routes/invitations.ts +185 -15
- package/src/apps/management/routes/invoicePreview.test.ts +549 -0
- package/src/apps/management/routes/me.test.ts +246 -5
- package/src/apps/management/routes/me.ts +7 -2
- package/src/apps/management/routes/members.test.ts +108 -0
- package/src/apps/management/routes/orgs.test.ts +191 -3
- package/src/apps/management/routes/orgs.ts +58 -11
- package/src/apps/management/routes/projects.test.ts +33 -3
- package/src/apps/management/routes/projects.ts +6 -1
- package/src/apps/management/routes/scopes.test.ts +30 -2
- package/src/apps/management/routes/scopes.ts +4 -1
- package/src/apps/management/routes/usage.test.ts +32 -0
- package/src/apps/management/routes/usage.ts +22 -4
- package/src/apps/management/routes/webhooks.test.ts +49 -26
- package/src/apps/management/routes/webhooks.ts +78 -22
- package/src/apps/mcp.test.ts +6 -6
- package/src/apps/mcp.ts +7 -7
- package/src/apps/mpp/App.ts +37 -7
- package/src/apps/mpp/Mpp.test.ts +49 -8
- package/src/apps/mpp/Mpp.zone.test.ts +219 -0
- package/src/apps/mpp/internal/Adapter.ts +34 -0
- package/src/apps/mpp/internal/Policy.test.ts +86 -31
- package/src/apps/mpp/internal/Policy.ts +49 -7
- package/src/apps/mpp/internal/Sponsorship.test.ts +207 -0
- package/src/apps/mpp/internal/Sponsorship.ts +9 -3
- package/src/apps/relay/App.test.ts +839 -64
- package/src/apps/relay/App.ts +148 -81
- package/src/apps/relay/App.zone-billing.test.ts +257 -0
- package/src/apps/relay/Sponsorships.test.ts +67 -4
- package/src/apps/relay/Sponsorships.ts +233 -32
- package/src/apps/relay/Sponsorships.zone.test.ts +102 -0
- package/src/apps/{funding → routes}/Access.ts +6 -6
- package/src/apps/routes/App.test.ts +165 -0
- package/src/apps/routes/App.ts +96 -0
- package/src/apps/{funding → routes}/Inventory.ts +2 -2
- package/src/apps/routes/index.ts +1 -0
- package/src/apps/{funding → routes}/routes/chains.test.ts +66 -66
- package/src/apps/{funding → routes}/routes/chains.ts +23 -23
- package/src/apps/{funding → routes}/routes/deposit-addresses.test.ts +1358 -458
- package/src/apps/{funding → routes}/routes/deposit-addresses.ts +566 -246
- package/src/apps/{funding → routes}/routes/providers.test.ts +27 -33
- package/src/apps/{funding → routes}/routes/providers.ts +23 -23
- package/src/apps/{funding → routes}/routes/quotes.test.ts +298 -41
- package/src/apps/{funding → routes}/routes/quotes.ts +57 -40
- package/src/apps/{funding → routes}/routes/transfers.test.ts +1100 -353
- package/src/apps/routes/routes/transfers.ts +1332 -0
- package/src/cli/Cli.test.ts +1 -1
- package/src/cli/commands/admin.test.ts +748 -1
- package/src/cli/commands/admin.ts +278 -0
- package/src/cloudflare.ts +52 -47
- package/src/db/Db.test.ts +245 -2
- package/src/db/Db.ts +1476 -34
- package/src/db/Schema.ts +729 -228
- package/src/db/tables/apiKeyAdmissionBootstraps.ts +4 -0
- package/src/db/tables/apiKeyAdmissions.ts +218 -0
- package/src/db/tables/apiKeyOwnerAdmissions.ts +4 -0
- package/src/db/tables/apiKeyOwnerTombstones.ts +81 -0
- package/src/db/tables/apiKeyRevocations.test.ts +74 -0
- package/src/db/tables/apiKeyRevocations.ts +121 -0
- package/src/db/tables/authAccounts.ts +105 -0
- package/src/db/tables/authSessions.ts +13 -0
- package/src/db/tables/authVerifications.ts +13 -0
- package/src/db/tables/invitations.ts +142 -45
- package/src/db/tables/memberships.ts +79 -3
- package/src/db/tables/organizations.test.ts +690 -13
- package/src/db/tables/organizations.ts +139 -55
- package/src/db/tables/projects.test.ts +16 -0
- package/src/db/tables/projects.ts +13 -3
- package/src/db/tables/requestUsage.ts +4 -1
- package/src/db/tables/rewardAccounts.ts +178 -0
- package/src/db/tables/rewardCampaignDistributors.ts +68 -0
- package/src/db/tables/rewardCampaigns.test.ts +1388 -0
- package/src/db/tables/rewardCampaigns.ts +647 -0
- package/src/db/tables/rewardCredits.ts +110 -0
- package/src/db/tables/rewardEligibilityAssociations.test.ts +271 -0
- package/src/db/tables/rewardEligibilityAssociations.ts +184 -0
- package/src/db/tables/rewardRuns.ts +514 -0
- package/src/db/tables/rewardTransactionAttempts.ts +272 -0
- package/src/db/tables/routesCatalog.test.ts +185 -0
- package/src/db/tables/routesCatalog.ts +163 -0
- package/src/db/tables/routesDepositAddresses.test.ts +1048 -0
- package/src/db/tables/routesDepositAddresses.ts +1008 -0
- package/src/db/tables/{fundingDepositRequestObservations.test.ts → routesDepositRequestObservations.test.ts} +13 -14
- package/src/db/tables/{fundingDepositRequestObservations.ts → routesDepositRequestObservations.ts} +10 -10
- package/src/db/tables/{fundingDeposits.test.ts → routesDeposits.test.ts} +316 -46
- package/src/db/tables/routesDeposits.ts +1062 -0
- package/src/db/tables/routesIdempotency.test.ts +796 -0
- package/src/db/tables/routesIdempotency.ts +496 -0
- package/src/db/tables/routesSubsidies.test.ts +120 -0
- package/src/db/tables/routesSubsidies.ts +71 -0
- package/src/db/tables/{fundingTransferEvents.ts → routesTransferEvents.ts} +4 -4
- package/src/db/tables/routesTransferSubsidies.ts +38 -0
- package/src/db/tables/routesTransferSubsidyNonces.ts +124 -0
- package/src/db/tables/routesTransferTransactions.test.ts +195 -0
- package/src/db/tables/{fundingTransferTransactions.ts → routesTransferTransactions.ts} +63 -18
- package/src/db/tables/routesTransfers.test.ts +338 -0
- package/src/db/tables/routesTransfers.ts +662 -0
- package/src/db/tables/sponsoredTransactions.test.ts +269 -45
- package/src/db/tables/sponsoredTransactions.ts +225 -65
- package/src/db/tables/sponsorshipAttributions.test.ts +160 -0
- package/src/db/tables/sponsorshipAttributions.ts +168 -0
- package/src/db/tables/sponsorshipReconciliationCursors.test.ts +115 -0
- package/src/db/tables/sponsorshipReconciliationCursors.ts +67 -0
- package/src/db/tables/stripeCustomers.test.ts +85 -0
- package/src/db/tables/stripeCustomers.ts +24 -0
- package/src/db/tables/users.test.ts +129 -0
- package/src/db/tables/users.ts +49 -3
- package/src/db/tables/webhookQueueEvents.ts +8 -1
- package/src/db/tables/webhookSubscriptions.ts +95 -20
- package/src/handlers/internal/executionError.ts +3 -4
- package/src/handlers/internal/multisig.ts +13 -816
- package/src/handlers/internal/sponsorship.ts +26 -10
- package/src/handlers/relay.test-d.ts +9 -1
- package/src/handlers/relay.test.ts +823 -3
- package/src/handlers/relay.ts +127 -107
- package/src/index.test-d.ts +7 -0
- package/src/index.ts +0 -17
- package/src/internal/AssetResponse.ts +26 -0
- package/src/internal/Auth.test.ts +1564 -9
- package/src/internal/Auth.ts +833 -239
- package/src/internal/BetterAuth.test.ts +242 -0
- package/src/internal/BetterAuth.ts +349 -0
- package/src/internal/Cache.ts +2 -0
- package/src/internal/EarnRates.test.ts +17 -0
- package/src/internal/EarnRates.ts +124 -31
- package/src/internal/EarnSharePrices.test.ts +182 -0
- package/src/internal/EarnSharePrices.ts +313 -0
- package/src/internal/EarnVaults.test.ts +21 -0
- package/src/internal/EarnVaults.ts +33 -11
- package/src/internal/Email.ts +54 -0
- package/src/internal/Idempotency.test.ts +2 -2
- package/src/internal/Log.test-d.ts +8 -7
- package/src/internal/Log.test.ts +114 -16
- package/src/internal/Log.ts +53 -40
- package/src/internal/MetricSink.test.ts +313 -26
- package/src/internal/MetricSink.ts +73 -8
- package/src/internal/Mpp.test.ts +31 -0
- package/src/internal/Mpp.ts +21 -24
- package/src/internal/OpenApi.ts +45 -12
- package/src/internal/Provider.test.ts +1 -1
- package/src/internal/Provider.ts +1 -1
- package/src/internal/RateLimit.test.ts +21 -3
- package/src/internal/RateLimit.ts +12 -1
- package/src/internal/Store.test-d.ts +1 -1
- package/src/internal/Store.test.ts +151 -8
- package/src/internal/Store.ts +76 -9
- package/src/internal/Tidx.test.ts +59 -8
- package/src/internal/Tidx.ts +86 -14
- package/src/internal/Timing.test.ts +77 -0
- package/src/internal/Timing.ts +83 -6
- package/src/internal/VercelOidc.test.ts +188 -0
- package/src/internal/VercelOidc.ts +193 -0
- package/src/internal/VerifiedTokens.test.ts +60 -6
- package/src/internal/VerifiedTokens.ts +21 -24
- package/src/internal/Viem.batch.test.ts +80 -0
- package/src/internal/Viem.test.ts +201 -2
- package/src/internal/Viem.ts +221 -25
- package/src/internal/Webhooks.test.ts +85 -6
- package/src/internal/Webhooks.ts +22 -4
- package/src/internal/ZoneRpc.ts +50 -0
- package/src/internal/exchange/Provider.test.ts +2 -2
- package/src/internal/index.test.ts +3 -1
- package/src/internal/index.ts +3 -1
- package/src/internal/rewards/Audit.ts +231 -0
- package/src/internal/rewards/Campaigns.test.ts +1234 -0
- package/src/internal/rewards/Campaigns.ts +1205 -0
- package/src/internal/rewards/Credits.ts +165 -0
- package/src/internal/rewards/Events.local.test.ts +113 -0
- package/src/internal/rewards/Events.test.ts +152 -0
- package/src/internal/rewards/Events.ts +468 -0
- package/src/internal/rewards/Projection.test.ts +681 -0
- package/src/internal/rewards/Projection.ts +987 -0
- package/src/internal/rewards/Rates.test.ts +171 -0
- package/src/internal/rewards/Rates.ts +110 -0
- package/src/internal/rewards/Read.test.ts +501 -0
- package/src/internal/rewards/Read.ts +476 -0
- package/src/internal/rewards/Runner.checkpoint.test.ts +80 -0
- package/src/internal/rewards/Runner.states.test.ts +188 -0
- package/src/internal/rewards/Runner.test.ts +90 -0
- package/src/internal/rewards/Runner.ts +2229 -0
- package/src/internal/rewards/Signer.test.ts +79 -0
- package/src/internal/rewards/Signer.ts +180 -0
- package/src/internal/rewards/index.ts +14 -0
- package/src/internal/{funding → routes}/Action.test.ts +63 -14
- package/src/internal/{funding → routes}/Action.ts +35 -8
- package/src/internal/{funding → routes}/Catalog.test.ts +3 -3
- package/src/internal/{funding → routes}/Catalog.ts +39 -39
- package/src/internal/{funding → routes}/Chain.test.ts +1 -1
- package/src/internal/{funding → routes}/Chain.ts +11 -11
- package/src/internal/{funding → routes}/Deposit.test.ts +1 -1
- package/src/internal/{funding → routes}/Deposit.ts +93 -45
- package/src/internal/{funding → routes}/DepositAddress.test.ts +11 -3
- package/src/internal/{funding → routes}/DepositAddress.ts +132 -53
- package/src/internal/{funding → routes}/DepositWebhook.test.ts +61 -18
- package/src/internal/{funding → routes}/DepositWebhook.ts +9 -9
- package/src/internal/routes/Economics.test.ts +42 -0
- package/src/internal/routes/Economics.ts +47 -0
- package/src/internal/{funding → routes}/Evidence.test.ts +6 -6
- package/src/internal/{funding → routes}/Evidence.ts +9 -9
- package/src/internal/routes/Observability.test.ts +636 -0
- package/src/internal/routes/Observability.ts +668 -0
- package/src/internal/{funding → routes}/Provider.test.ts +489 -153
- package/src/internal/{funding → routes}/Provider.ts +489 -186
- package/src/internal/{funding → routes}/Reconciliation.local.test.ts +84 -12
- package/src/internal/{funding → routes}/Reconciliation.test.ts +1213 -279
- package/src/internal/{funding → routes}/Reconciliation.ts +501 -203
- package/src/internal/routes/Reconciliation.unattributed.test.ts +250 -0
- package/src/internal/{funding → routes}/Route.ts +7 -7
- package/src/internal/{funding → routes}/SourceObservation.test.ts +13 -14
- package/src/internal/{funding → routes}/SourceObservation.ts +13 -13
- package/src/internal/{funding → routes}/Subsidy.local.test.ts +7 -7
- package/src/internal/routes/Subsidy.test.ts +169 -0
- package/src/internal/{funding → routes}/Subsidy.ts +86 -6
- package/src/internal/{funding → routes}/Token.test.ts +1 -1
- package/src/internal/{funding → routes}/Token.ts +5 -5
- package/src/internal/routes/Transfer.test.ts +1199 -0
- package/src/internal/routes/Transfer.ts +1206 -0
- package/src/internal/routes/TransferReconciliation.test.ts +731 -0
- package/src/internal/routes/TransferReconciliation.ts +527 -0
- package/src/internal/routes/TransferSubsidy.test.ts +172 -0
- package/src/internal/routes/TransferSubsidy.ts +447 -0
- package/src/internal/{funding → routes}/TransferWebhook.test.ts +13 -13
- package/src/internal/{funding → routes}/TransferWebhook.ts +7 -7
- package/src/internal/{funding → routes}/index.test.ts +5 -3
- package/src/internal/{funding → routes}/index.ts +2 -0
- package/src/internal/{funding → routes}/providers/across.ts +16 -16
- package/src/internal/{funding → routes}/providers/index.test.ts +157 -44
- package/src/internal/{funding → routes}/providers/relay.test.ts +165 -32
- package/src/internal/{funding → routes}/providers/relay.ts +228 -121
- package/src/internal/{funding → routes}/providers/rhino.ts +16 -16
- package/src/internal/{funding → routes}/providers/squid.ts +17 -17
- package/src/internal/routes/providers/stargate.test.ts +728 -0
- package/src/internal/routes/providers/stargate.ts +1276 -0
- package/src/internal/{funding → routes}/providers/symbiosis.ts +64 -24
- package/src/internal/webhookDestinations/slack.ts +10 -10
- package/src/providers/index.ts +13 -13
- package/src/server.ts +18 -0
- package/dist/apps/funding/Access.d.ts.map +0 -1
- package/dist/apps/funding/Access.js.map +0 -1
- package/dist/apps/funding/App.js.map +0 -1
- package/dist/apps/funding/Inventory.d.ts.map +0 -1
- package/dist/apps/funding/Inventory.js.map +0 -1
- package/dist/apps/funding/ProviderAttempts.d.ts +0 -5
- package/dist/apps/funding/ProviderAttempts.d.ts.map +0 -1
- package/dist/apps/funding/ProviderAttempts.js +0 -24
- package/dist/apps/funding/ProviderAttempts.js.map +0 -1
- package/dist/apps/funding/index.d.ts +0 -2
- package/dist/apps/funding/index.d.ts.map +0 -1
- package/dist/apps/funding/index.js +0 -2
- package/dist/apps/funding/index.js.map +0 -1
- package/dist/apps/funding/routes/chains.d.ts.map +0 -1
- package/dist/apps/funding/routes/chains.js.map +0 -1
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +0 -1
- package/dist/apps/funding/routes/deposit-addresses.js.map +0 -1
- package/dist/apps/funding/routes/providers.d.ts.map +0 -1
- package/dist/apps/funding/routes/providers.js +0 -57
- package/dist/apps/funding/routes/providers.js.map +0 -1
- package/dist/apps/funding/routes/quotes.d.ts.map +0 -1
- package/dist/apps/funding/routes/quotes.js.map +0 -1
- package/dist/apps/funding/routes/transfers.d.ts.map +0 -1
- package/dist/apps/funding/routes/transfers.js +0 -828
- package/dist/apps/funding/routes/transfers.js.map +0 -1
- package/dist/db/tables/fundingCatalog.d.ts +0 -58
- package/dist/db/tables/fundingCatalog.d.ts.map +0 -1
- package/dist/db/tables/fundingCatalog.js.map +0 -1
- package/dist/db/tables/fundingDepositAddresses.d.ts +0 -192
- package/dist/db/tables/fundingDepositAddresses.d.ts.map +0 -1
- package/dist/db/tables/fundingDepositAddresses.js +0 -235
- package/dist/db/tables/fundingDepositAddresses.js.map +0 -1
- package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +0 -1
- package/dist/db/tables/fundingDepositRequestObservations.js.map +0 -1
- package/dist/db/tables/fundingDeposits.d.ts.map +0 -1
- package/dist/db/tables/fundingDeposits.js +0 -295
- package/dist/db/tables/fundingDeposits.js.map +0 -1
- package/dist/db/tables/fundingIdempotency.d.ts +0 -91
- package/dist/db/tables/fundingIdempotency.d.ts.map +0 -1
- package/dist/db/tables/fundingIdempotency.js +0 -103
- package/dist/db/tables/fundingIdempotency.js.map +0 -1
- package/dist/db/tables/fundingTransferEvents.d.ts.map +0 -1
- package/dist/db/tables/fundingTransferEvents.js.map +0 -1
- package/dist/db/tables/fundingTransferTransactions.d.ts +0 -53
- package/dist/db/tables/fundingTransferTransactions.d.ts.map +0 -1
- package/dist/db/tables/fundingTransferTransactions.js.map +0 -1
- package/dist/db/tables/fundingTransfers.d.ts +0 -99
- package/dist/db/tables/fundingTransfers.d.ts.map +0 -1
- package/dist/db/tables/fundingTransfers.js +0 -110
- package/dist/db/tables/fundingTransfers.js.map +0 -1
- package/dist/internal/funding/Action.d.ts.map +0 -1
- package/dist/internal/funding/Action.js.map +0 -1
- package/dist/internal/funding/Catalog.d.ts.map +0 -1
- package/dist/internal/funding/Catalog.js.map +0 -1
- package/dist/internal/funding/Chain.d.ts.map +0 -1
- package/dist/internal/funding/Chain.js.map +0 -1
- package/dist/internal/funding/Deposit.d.ts.map +0 -1
- package/dist/internal/funding/Deposit.js.map +0 -1
- package/dist/internal/funding/DepositAddress.d.ts.map +0 -1
- package/dist/internal/funding/DepositAddress.js.map +0 -1
- package/dist/internal/funding/DepositWebhook.d.ts.map +0 -1
- package/dist/internal/funding/DepositWebhook.js.map +0 -1
- package/dist/internal/funding/Evidence.d.ts.map +0 -1
- package/dist/internal/funding/Evidence.js.map +0 -1
- package/dist/internal/funding/Provider.d.ts.map +0 -1
- package/dist/internal/funding/Provider.js.map +0 -1
- package/dist/internal/funding/Reconciliation.d.ts.map +0 -1
- package/dist/internal/funding/Reconciliation.js.map +0 -1
- package/dist/internal/funding/Route.d.ts +0 -21
- package/dist/internal/funding/Route.d.ts.map +0 -1
- package/dist/internal/funding/Route.js.map +0 -1
- package/dist/internal/funding/SourceObservation.d.ts.map +0 -1
- package/dist/internal/funding/SourceObservation.js.map +0 -1
- package/dist/internal/funding/Subsidy.d.ts.map +0 -1
- package/dist/internal/funding/Subsidy.js.map +0 -1
- package/dist/internal/funding/Token.d.ts.map +0 -1
- package/dist/internal/funding/Token.js.map +0 -1
- package/dist/internal/funding/Transfer.d.ts.map +0 -1
- package/dist/internal/funding/Transfer.js +0 -462
- package/dist/internal/funding/Transfer.js.map +0 -1
- package/dist/internal/funding/TransferReconciliation.d.ts.map +0 -1
- package/dist/internal/funding/TransferReconciliation.js +0 -192
- package/dist/internal/funding/TransferReconciliation.js.map +0 -1
- package/dist/internal/funding/TransferWebhook.d.ts.map +0 -1
- package/dist/internal/funding/TransferWebhook.js.map +0 -1
- package/dist/internal/funding/index.d.ts.map +0 -1
- package/dist/internal/funding/index.js.map +0 -1
- package/dist/internal/funding/providers/across.d.ts.map +0 -1
- package/dist/internal/funding/providers/across.js.map +0 -1
- package/dist/internal/funding/providers/relay.d.ts.map +0 -1
- package/dist/internal/funding/providers/relay.js.map +0 -1
- package/dist/internal/funding/providers/rhino.d.ts.map +0 -1
- package/dist/internal/funding/providers/rhino.js.map +0 -1
- package/dist/internal/funding/providers/squid.d.ts.map +0 -1
- package/dist/internal/funding/providers/squid.js.map +0 -1
- package/dist/internal/funding/providers/stargate.d.ts.map +0 -1
- package/dist/internal/funding/providers/stargate.js +0 -579
- package/dist/internal/funding/providers/stargate.js.map +0 -1
- package/dist/internal/funding/providers/symbiosis.d.ts.map +0 -1
- package/dist/internal/funding/providers/symbiosis.js.map +0 -1
- package/src/apps/funding/App.test.ts +0 -78
- package/src/apps/funding/App.ts +0 -88
- package/src/apps/funding/ProviderAttempts.ts +0 -26
- package/src/apps/funding/index.ts +0 -1
- package/src/apps/funding/routes/transfers.ts +0 -987
- package/src/db/tables/fundingCatalog.test.ts +0 -122
- package/src/db/tables/fundingCatalog.ts +0 -163
- package/src/db/tables/fundingDepositAddresses.test.ts +0 -608
- package/src/db/tables/fundingDepositAddresses.ts +0 -443
- package/src/db/tables/fundingDeposits.ts +0 -572
- package/src/db/tables/fundingIdempotency.test.ts +0 -182
- package/src/db/tables/fundingIdempotency.ts +0 -180
- package/src/db/tables/fundingTransferTransactions.test.ts +0 -112
- package/src/db/tables/fundingTransfers.test.ts +0 -115
- package/src/db/tables/fundingTransfers.ts +0 -189
- package/src/handlers/internal/multisig.test.ts +0 -818
- package/src/internal/funding/Subsidy.test.ts +0 -75
- package/src/internal/funding/Transfer.test.ts +0 -524
- package/src/internal/funding/Transfer.ts +0 -762
- package/src/internal/funding/TransferReconciliation.test.ts +0 -147
- package/src/internal/funding/TransferReconciliation.ts +0 -264
- package/src/internal/funding/providers/stargate.test.ts +0 -328
- package/src/internal/funding/providers/stargate.ts +0 -856
- /package/dist/apps/{funding → routes}/Inventory.d.ts +0 -0
- /package/src/internal/{funding → routes}/Route.test.ts +0 -0
package/src/App.ts
CHANGED
|
@@ -15,6 +15,7 @@ import * as Assets from './Assets.js'
|
|
|
15
15
|
import * as Auth from './internal/Auth.js'
|
|
16
16
|
import * as Db from './db/Db.js'
|
|
17
17
|
import * as EdgeCache from './internal/EdgeCache.js'
|
|
18
|
+
import * as core_Email from './internal/Email.js'
|
|
18
19
|
import * as Log from './internal/Log.js'
|
|
19
20
|
import * as MetricSink from './internal/MetricSink.js'
|
|
20
21
|
import type * as Metrics from './Metrics.js'
|
|
@@ -26,6 +27,7 @@ import * as Response from './internal/Response.js'
|
|
|
26
27
|
import * as Scope from './Scope.js'
|
|
27
28
|
import type * as Tidx from './internal/Tidx.js'
|
|
28
29
|
import * as Timing from './internal/Timing.js'
|
|
30
|
+
import * as VercelOidc from './internal/VercelOidc.js'
|
|
29
31
|
import * as Viem from './internal/Viem.js'
|
|
30
32
|
import type * as Webhooks from './internal/Webhooks.js'
|
|
31
33
|
|
|
@@ -34,21 +36,21 @@ import openrpcSpec from './openrpc.json' with { type: 'json' }
|
|
|
34
36
|
import * as Metadata from './apps/metadata.js'
|
|
35
37
|
import * as Zones from './apps/Zones.js'
|
|
36
38
|
import * as Data from './apps/data/App.js'
|
|
37
|
-
import * as
|
|
39
|
+
import * as Routes from './apps/routes/App.js'
|
|
38
40
|
import * as Management from './apps/management/App.js'
|
|
39
41
|
import * as Mpp from './apps/mpp/App.js'
|
|
40
42
|
import * as Relay from './apps/relay/App.js'
|
|
41
43
|
|
|
42
44
|
export import data = Data.data
|
|
43
|
-
export import
|
|
45
|
+
export import routes = Routes.routes
|
|
44
46
|
export import management = Management.management
|
|
45
47
|
export import mpp = Mpp.mpp
|
|
46
48
|
export import relay = Relay.relay
|
|
47
49
|
|
|
48
50
|
/** The chain-data route group; see {@link data}. */
|
|
49
51
|
export type DataApp = ReturnType<typeof data>
|
|
50
|
-
/** The
|
|
51
|
-
export type
|
|
52
|
+
/** The Routes API group; see {@link routes}. */
|
|
53
|
+
export type RoutesApp = ReturnType<typeof routes>
|
|
52
54
|
/** The management route group; see {@link management}. */
|
|
53
55
|
export type ManagementApp = ReturnType<typeof management>
|
|
54
56
|
/** The MPP credential relay route group; see {@link mpp}. */
|
|
@@ -59,6 +61,7 @@ export type RelayApp = ReturnType<typeof relay>
|
|
|
59
61
|
/** Hono environment variables set by the Tempo API app. */
|
|
60
62
|
export type Environment = {
|
|
61
63
|
Variables: Auth.Variables &
|
|
64
|
+
core_Email.Variables &
|
|
62
65
|
RequestIdVariables & {
|
|
63
66
|
/** ClickHouse-backed analytics store, or a per-request factory; undefined when usage analytics is unconfigured. Resolve at the leaf with `Analytics.get`. */
|
|
64
67
|
analytics: Analytics.Source | undefined
|
|
@@ -72,6 +75,8 @@ export type Environment = {
|
|
|
72
75
|
dbCached: Db.Source
|
|
73
76
|
/** KV state store backing API-key records, or undefined when key auth is closed. */
|
|
74
77
|
kv: { store: Store.State } | undefined
|
|
78
|
+
/** Bounded operational metrics backend, or undefined when metrics are disabled. */
|
|
79
|
+
metrics: Metrics.Metrics | undefined
|
|
75
80
|
/** Providers registered by the host application. */
|
|
76
81
|
providers: readonly Provider.Provider[]
|
|
77
82
|
/** Issuable API-key scope catalog, including host-defined entries. */
|
|
@@ -92,6 +97,8 @@ export type Environment = {
|
|
|
92
97
|
tidx: Tidx.getClient.Tidx | undefined
|
|
93
98
|
/** Verified-token feature configuration (refresh window), or undefined when the feature is disabled. Token rows live in `db`. */
|
|
94
99
|
verifiedTokens: { refreshMs?: number | undefined } | undefined
|
|
100
|
+
/** Vercel workload-identity policy used for mainnet Zone authorization. */
|
|
101
|
+
vercelOidc: VercelOidc.create.Policy | undefined
|
|
95
102
|
/** Zone chain ids inferred from the current API key, or undefined for single-chain requests. */
|
|
96
103
|
zoneChainIds: readonly Viem.ChainId[] | undefined
|
|
97
104
|
/** Zone chains keyed by chain id; empty when none are configured. */
|
|
@@ -121,7 +128,7 @@ export function from<const app extends Hono<any, any>>(app: app, metadata: creat
|
|
|
121
128
|
function compose(options: create.Options) {
|
|
122
129
|
return create(options)
|
|
123
130
|
.route('/', data())
|
|
124
|
-
.route('/',
|
|
131
|
+
.route('/', routes())
|
|
125
132
|
.route('/', relay())
|
|
126
133
|
.route('/', mpp({ state: Store.memory() }))
|
|
127
134
|
.route('/', management())
|
|
@@ -136,14 +143,19 @@ export type Endpoint = Auth.Endpoint<App>
|
|
|
136
143
|
/** Stripe billing capability for management billing routes; owned by {@link management}. */
|
|
137
144
|
export type Billing = Management.Billing
|
|
138
145
|
|
|
139
|
-
/** Transactional email
|
|
140
|
-
export type Email =
|
|
146
|
+
/** Transactional email capability shared by authentication and route groups. */
|
|
147
|
+
export type Email = core_Email.Sender
|
|
148
|
+
|
|
149
|
+
export declare namespace Email {
|
|
150
|
+
/** One transactional message. */
|
|
151
|
+
type Message = core_Email.Message
|
|
152
|
+
}
|
|
141
153
|
|
|
142
154
|
/** Webhook capability shared by subscription routes and the host poller. */
|
|
143
155
|
export type Webhook = {
|
|
144
156
|
/** Application events produced by the host outside the chain poller. */
|
|
145
157
|
applicationEventTypes?: readonly Webhooks.EventType[] | undefined
|
|
146
|
-
/** Maximum live
|
|
158
|
+
/** Maximum live subscriptions per direct owner, shared across API-key organizations created by one user. Defaults to 100. */
|
|
147
159
|
maxPerOwner?: number | undefined
|
|
148
160
|
/** Chain ids the host actively polls for webhook events. */
|
|
149
161
|
supportedChainIds: readonly number[]
|
|
@@ -236,14 +248,13 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
236
248
|
// basePath that would collapse them to an index signature).
|
|
237
249
|
const base = new Hono<Environment>().basePath(basePath)
|
|
238
250
|
|
|
239
|
-
if (options.cors !== false)
|
|
240
|
-
base.use('*', hono_cors(typeof options.cors === 'object' ? options.cors : undefined))
|
|
241
251
|
if (options.compress)
|
|
242
252
|
base.use(
|
|
243
253
|
'*',
|
|
244
254
|
hono_compress(typeof options.compress === 'object' ? options.compress : undefined),
|
|
245
255
|
)
|
|
246
|
-
|
|
256
|
+
// Billing deduplicates analytics retries by this ID, so callers must never supply it.
|
|
257
|
+
base.use('*', requestId({ headerName: '' }))
|
|
247
258
|
base.use('*', async (c, next) => {
|
|
248
259
|
await next()
|
|
249
260
|
c.header('tempo-request-id', c.get('requestId'))
|
|
@@ -341,9 +352,12 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
341
352
|
|
|
342
353
|
// Built-in auth: the session surface (mounted last) plus the enforcement
|
|
343
354
|
// middleware (installed below), wired together in `Auth.install`.
|
|
355
|
+
let email = options.email
|
|
344
356
|
const auth = Auth.install({
|
|
345
357
|
auth: options.auth,
|
|
358
|
+
basePath,
|
|
346
359
|
db: db.source,
|
|
360
|
+
email: () => email,
|
|
347
361
|
getClient,
|
|
348
362
|
kv: options.kv,
|
|
349
363
|
scopeCatalog,
|
|
@@ -356,13 +370,16 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
356
370
|
c.set('chainId', defaultChainId)
|
|
357
371
|
c.set('db', db.source)
|
|
358
372
|
c.set('dbCached', db.cached ?? db.source)
|
|
373
|
+
c.set('email', email)
|
|
359
374
|
c.set('getClient', (chainId) => getClient(chainId, Auth.getPrincipal(c)))
|
|
360
375
|
c.set('kv', options.kv)
|
|
376
|
+
c.set('metrics', options.metrics)
|
|
361
377
|
c.set('providers', providers)
|
|
362
378
|
c.set('rpc', options.rpc)
|
|
363
379
|
c.set('scopeCatalog', scopeCatalog)
|
|
364
380
|
c.set('store', Store.withRequest(store, c.req, { waitUntil: getWaitUntil(c) }))
|
|
365
381
|
c.set('supportedChainIds', supportedChainIds)
|
|
382
|
+
c.set('vercelOidc', options.vercelOidc)
|
|
366
383
|
c.set('zones', zones)
|
|
367
384
|
await next()
|
|
368
385
|
})
|
|
@@ -377,6 +394,13 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
377
394
|
c.res.headers.set('Cache-Control', 'no-store')
|
|
378
395
|
})
|
|
379
396
|
|
|
397
|
+
// Cached valid keys on API-key routes skip the edge backstop. Cold and
|
|
398
|
+
// invalid credentials consume it before any KV lookup.
|
|
399
|
+
if (auth.edgeRateLimit) base.use('*', auth.edgeRateLimit)
|
|
400
|
+
|
|
401
|
+
if (options.cors !== false)
|
|
402
|
+
base.use('*', hono_cors(typeof options.cors === 'object' ? options.cors : undefined))
|
|
403
|
+
|
|
380
404
|
// Serve GETs from the cache store before user middleware (auth, rate limiting)
|
|
381
405
|
// runs, so cache hits skip the per-request store round-trips that dominate
|
|
382
406
|
// latency.
|
|
@@ -398,7 +422,15 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
398
422
|
|
|
399
423
|
const chainId = c.get('chainId')
|
|
400
424
|
const principal = Auth.getPrincipal(c)
|
|
401
|
-
|
|
425
|
+
const zone = c.get('zones').get(chainId)
|
|
426
|
+
if (zone) {
|
|
427
|
+
if (zone.sourceId !== undefined && Viem.isMainnet(zone.sourceId)) {
|
|
428
|
+
const policy = c.get('vercelOidc')
|
|
429
|
+
const result = policy?.applies(principal) ? await policy.verify(c.req.raw, zone) : undefined
|
|
430
|
+
const error = result && VercelOidc.authorizationError(result)
|
|
431
|
+
if (result) c.set('vercelOidcResults', [result])
|
|
432
|
+
if (error) return Response.error(c, error)
|
|
433
|
+
}
|
|
402
434
|
const scopes = principal?.type === 'api_key' ? principal.apiKey.scopes : undefined
|
|
403
435
|
const allowed =
|
|
404
436
|
scopes?.includes(Scope.wildcard) ||
|
|
@@ -415,7 +447,7 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
415
447
|
if (
|
|
416
448
|
principal?.type === 'api_key' &&
|
|
417
449
|
principal.environment === 'sandbox' &&
|
|
418
|
-
Viem.isMainnet(chainId)
|
|
450
|
+
Viem.isMainnet(c.get('zones').get(chainId)?.sourceId ?? chainId)
|
|
419
451
|
)
|
|
420
452
|
return Response.error(c, {
|
|
421
453
|
code: 'api_key_forbidden',
|
|
@@ -434,6 +466,7 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
434
466
|
const route = app.route.bind(app)
|
|
435
467
|
;(app as unknown as { route: typeof route }).route = ((path, sub) => {
|
|
436
468
|
const entry = Metadata.read(sub)
|
|
469
|
+
email ??= core_Email.read(sub)
|
|
437
470
|
if (entry) {
|
|
438
471
|
metadata.push(entry)
|
|
439
472
|
for (const chainId of entry.supportedChainIds ?? []) supportedChainIds.add(chainId)
|
|
@@ -559,14 +592,24 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
559
592
|
/\/webhooks(\/|$)/.test(path),
|
|
560
593
|
)
|
|
561
594
|
const webhookBlocks = hasWebhookRoutes ? metadata_all.flatMap((m) => (m.webhooks ? [m.webhooks()] : [])) : [] // prettier-ignore
|
|
595
|
+
const webhookSchemas = Object.assign({}, ...webhookBlocks.map((block) => block.schemas ?? {}))
|
|
596
|
+
if (Object.keys(webhookSchemas).length) {
|
|
597
|
+
for (const [name, schema] of Object.entries(webhookSchemas))
|
|
598
|
+
OpenApiDocument.recoverExamples(schema, generated.components.schemas?.[name], generated)
|
|
599
|
+
generated.components.schemas = {
|
|
600
|
+
...generated.components.schemas,
|
|
601
|
+
...webhookSchemas,
|
|
602
|
+
}
|
|
603
|
+
}
|
|
562
604
|
const webhooksDoc = webhookBlocks.length
|
|
563
|
-
? { webhooks: Object.assign({}, ...webhookBlocks) }
|
|
605
|
+
? { webhooks: Object.assign({}, ...webhookBlocks.map((block) => block.document)) }
|
|
564
606
|
: {}
|
|
565
607
|
// Set per-operation `security` and the `402` payment-challenge response
|
|
566
608
|
// from each route's resolved auth policy (the single source of truth), so
|
|
567
609
|
// the anonymous option and `402` appear only where the public/MPP lanes
|
|
568
610
|
// are enabled, not on every operation via the document default.
|
|
569
611
|
OpenApiDocument.applyAccess(generated.paths, Auth.describeAccess(app))
|
|
612
|
+
OpenApiDocument.removePrivateFields(generated.paths)
|
|
570
613
|
// Point the `/rpc` operation at the OpenRPC document via `x-openrpc`.
|
|
571
614
|
OpenApiDocument.applyOpenrpcLink(generated.paths, basePath)
|
|
572
615
|
// Re-order paths so list endpoints appear before get endpoints inside each
|
|
@@ -574,7 +617,13 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
574
617
|
// handler sets as either "List ..." or "Get ...". The reference groups by
|
|
575
618
|
// tag and preserves document path order within a tag, so reordering here
|
|
576
619
|
// drives the sidebar sub-item order.
|
|
577
|
-
|
|
620
|
+
const document = {
|
|
621
|
+
...generated,
|
|
622
|
+
...webhooksDoc,
|
|
623
|
+
paths: OpenApiDocument.sortPaths(generated.paths),
|
|
624
|
+
}
|
|
625
|
+
OpenApiDocument.normalizeExamples(document)
|
|
626
|
+
return document
|
|
578
627
|
}
|
|
579
628
|
let finalized = false
|
|
580
629
|
const finalize = () => {
|
|
@@ -606,7 +655,8 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
606
655
|
return originalFetch(request, ...rest)
|
|
607
656
|
}) as typeof originalFetch
|
|
608
657
|
|
|
609
|
-
|
|
658
|
+
// Preserve the hosted auth client contract when tests disable auth at runtime.
|
|
659
|
+
return route('/', auth.app ?? (new Hono<Environment>() as NonNullable<typeof auth.app>))
|
|
610
660
|
}
|
|
611
661
|
|
|
612
662
|
/**
|
|
@@ -622,8 +672,7 @@ export function listener(app: { fetch: NodeServer.Fetch }): Listener {
|
|
|
622
672
|
export declare namespace create {
|
|
623
673
|
/**
|
|
624
674
|
* Options for creating the Tempo API Hono app: shared chain, RPC, database,
|
|
625
|
-
* cache, authentication, and cross-cutting configuration.
|
|
626
|
-
* {@link management}.
|
|
675
|
+
* cache, authentication, and cross-cutting configuration.
|
|
627
676
|
*/
|
|
628
677
|
type Options<path extends string = '/'> = {
|
|
629
678
|
/** Analytics store for usage reads (e.g. `Analytics.clickhouse(...)`), or a per-request factory. Accepts `{ source }` to mirror `db`. Omit to leave usage analytics unconfigured — usage routes answer 501. Ingest happens outside this app (queue consumer via `Analytics.handleQueue`). */
|
|
@@ -640,6 +689,8 @@ export declare namespace create {
|
|
|
640
689
|
db: Db.Source | { cached?: Db.Source | undefined; source: Db.Source }
|
|
641
690
|
/** Default Tempo chain id for requests that omit `chainId`. */
|
|
642
691
|
defaultChainId?: Viem.ChainId | undefined
|
|
692
|
+
/** Transactional email sender shared by authentication and mounted route groups. */
|
|
693
|
+
email?: Email | undefined
|
|
643
694
|
/** KV state store backing API-key records (e.g. `Store.cloudflareKv(...)`). Omit to leave API-key auth closed — every token resolves to `null`. */
|
|
644
695
|
kv?: Kv | undefined
|
|
645
696
|
/** Request logging. Disabled by default. Pass `true` to emit one canonical structured log entry per request through the level-matched console method (indexed by Workers Logs); a level (e.g. `'warn'`) to emit only that level and above (dropping successful-request info lines); or an emit function for a custom sink. */
|
|
@@ -658,6 +709,8 @@ export declare namespace create {
|
|
|
658
709
|
scopes?: readonly Scope.Entry[] | undefined
|
|
659
710
|
/** Extra chain ids served beyond the built-in chains and `defaultChainId`. */
|
|
660
711
|
supportedChainIds?: readonly number[] | undefined
|
|
712
|
+
/** Vercel workload-identity verifier for mainnet Zone shadow evaluation. */
|
|
713
|
+
vercelOidc?: VercelOidc.create.Policy | undefined
|
|
661
714
|
/** Zone chains served by this deployment. Pass true to use the hosted Zone list. */
|
|
662
715
|
zones?: true | readonly Chain[] | undefined
|
|
663
716
|
}
|
|
@@ -726,11 +779,19 @@ export declare namespace create {
|
|
|
726
779
|
/** Root-level OpenAPI tag definitions for this group's operations. */
|
|
727
780
|
tags?: readonly Tag[] | undefined
|
|
728
781
|
/** Builds the OAS 3.1 `webhooks` block documenting outbound deliveries, emitted only when the group's webhook routes are mounted. Called during spec generation only, keeping schema conversion off isolate startup. */
|
|
729
|
-
webhooks?: (() =>
|
|
782
|
+
webhooks?: (() => Webhooks) | undefined
|
|
730
783
|
/** Vocs tag-group metadata for grouping root tags in the reference. */
|
|
731
784
|
'x-tagGroups'?: readonly TagGroup[] | undefined
|
|
732
785
|
}
|
|
733
786
|
|
|
787
|
+
/** Root webhooks document and schemas contributed by one route group. */
|
|
788
|
+
type Webhooks = {
|
|
789
|
+
/** Root `webhooks` entries keyed by event name. */
|
|
790
|
+
document: Record<string, unknown>
|
|
791
|
+
/** Named schemas referenced only from outbound webhook operations. */
|
|
792
|
+
schemas?: Record<string, unknown> | undefined
|
|
793
|
+
}
|
|
794
|
+
|
|
734
795
|
/** One root-level OpenAPI tag definition. */
|
|
735
796
|
type Tag = {
|
|
736
797
|
/** Human-readable summary shown in the reference sidebar. */
|
|
@@ -773,6 +834,247 @@ async function errorFromException(c: Context<Environment>, cause: HTTPException)
|
|
|
773
834
|
}
|
|
774
835
|
|
|
775
836
|
namespace OpenApiDocument {
|
|
837
|
+
/** Copies examples from an equivalent input schema into its output representation. */
|
|
838
|
+
export function recoverExamples(target: unknown, source: unknown, root: unknown) {
|
|
839
|
+
if (!target || typeof target !== 'object' || Array.isArray(target)) return
|
|
840
|
+
if (!source || typeof source !== 'object' || Array.isArray(source)) return
|
|
841
|
+
|
|
842
|
+
const current = target as Record<string, unknown>
|
|
843
|
+
const source_raw = source as Record<string, unknown>
|
|
844
|
+
const source_resolved = (() => {
|
|
845
|
+
if (typeof source_raw['$ref'] !== 'string') return source_raw
|
|
846
|
+
const resolved = resolvePointer(root, source_raw['$ref'])
|
|
847
|
+
return resolved && typeof resolved === 'object' && !Array.isArray(resolved)
|
|
848
|
+
? (resolved as Record<string, unknown>)
|
|
849
|
+
: source_raw
|
|
850
|
+
})()
|
|
851
|
+
const source_aligned = (() => {
|
|
852
|
+
for (const name of ['anyOf', 'oneOf']) {
|
|
853
|
+
const branches = source_resolved[name]
|
|
854
|
+
if (!Array.isArray(branches)) continue
|
|
855
|
+
for (const branch of branches) {
|
|
856
|
+
if (!branch || typeof branch !== 'object' || Array.isArray(branch)) continue
|
|
857
|
+
const candidate = branch as Record<string, unknown>
|
|
858
|
+
const resolved = (() => {
|
|
859
|
+
if (typeof candidate['$ref'] !== 'string') return candidate
|
|
860
|
+
const value = resolvePointer(root, candidate['$ref'])
|
|
861
|
+
return value && typeof value === 'object' && !Array.isArray(value)
|
|
862
|
+
? (value as Record<string, unknown>)
|
|
863
|
+
: candidate
|
|
864
|
+
})()
|
|
865
|
+
if (
|
|
866
|
+
(current['type'] !== undefined && current['type'] === resolved['type']) ||
|
|
867
|
+
('properties' in current && 'properties' in resolved) ||
|
|
868
|
+
('items' in current && 'items' in resolved)
|
|
869
|
+
)
|
|
870
|
+
return resolved
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
return source_resolved
|
|
874
|
+
})()
|
|
875
|
+
if (!('example' in current) && 'example' in source_aligned)
|
|
876
|
+
current['example'] = source_aligned['example']
|
|
877
|
+
if (!('examples' in current) && 'examples' in source_aligned)
|
|
878
|
+
current['examples'] = source_aligned['examples']
|
|
879
|
+
|
|
880
|
+
const targetProperties = current['properties'] as Record<string, unknown> | undefined
|
|
881
|
+
const sourceProperties = source_aligned['properties'] as Record<string, unknown> | undefined
|
|
882
|
+
if (targetProperties && sourceProperties)
|
|
883
|
+
for (const [name, child] of Object.entries(targetProperties))
|
|
884
|
+
recoverExamples(child, sourceProperties[name], root)
|
|
885
|
+
|
|
886
|
+
if (current['items']) recoverExamples(current['items'], source_aligned['items'], root)
|
|
887
|
+
for (const name of ['allOf', 'anyOf', 'oneOf']) {
|
|
888
|
+
const targets = current[name]
|
|
889
|
+
const sources = source_aligned[name]
|
|
890
|
+
if (!Array.isArray(targets) || !Array.isArray(sources)) continue
|
|
891
|
+
for (const [index, child] of targets.entries()) recoverExamples(child, sources[index], root)
|
|
892
|
+
}
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
/** Publishes literal examples and propagates schema examples through nested representations. */
|
|
896
|
+
export function normalizeExamples(value: unknown) {
|
|
897
|
+
normalize(value, value)
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
function normalize(value: unknown, root: unknown, inherited: readonly unknown[] = []) {
|
|
901
|
+
if (!value || typeof value !== 'object') return
|
|
902
|
+
if (Array.isArray(value)) {
|
|
903
|
+
for (const item of value) normalize(item, root, inherited)
|
|
904
|
+
return
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
const current = value as Record<string, unknown>
|
|
908
|
+
const compatible = inherited.filter((example) => matchesSchemaType(current, example))
|
|
909
|
+
if (!('example' in current) && !('examples' in current)) {
|
|
910
|
+
if ('const' in current) current['examples'] = [current['const']]
|
|
911
|
+
else if (Array.isArray(current['enum']) && current['enum'].length)
|
|
912
|
+
current['examples'] = [current['enum'][0]]
|
|
913
|
+
else if (compatible.length) current['examples'] = [...new Set(compatible)]
|
|
914
|
+
}
|
|
915
|
+
const examples = [
|
|
916
|
+
...('example' in current ? [current['example']] : []),
|
|
917
|
+
...(Array.isArray(current['examples']) ? current['examples'] : []),
|
|
918
|
+
]
|
|
919
|
+
const properties = current['properties'] as Record<string, unknown> | undefined
|
|
920
|
+
if (properties)
|
|
921
|
+
for (const [name, child] of Object.entries(properties))
|
|
922
|
+
normalize(
|
|
923
|
+
child,
|
|
924
|
+
root,
|
|
925
|
+
examples.flatMap((example) => {
|
|
926
|
+
if (!example || typeof example !== 'object' || Array.isArray(example)) return []
|
|
927
|
+
return name in example ? [(example as Record<string, unknown>)[name]] : []
|
|
928
|
+
}),
|
|
929
|
+
)
|
|
930
|
+
if (current['items'])
|
|
931
|
+
normalize(
|
|
932
|
+
current['items'],
|
|
933
|
+
root,
|
|
934
|
+
examples.flatMap((example) => (Array.isArray(example) ? example : [])),
|
|
935
|
+
)
|
|
936
|
+
// Composition branches may share a JSON type while accepting different
|
|
937
|
+
// values. Keep inherited examples on the union instead of copying invalid
|
|
938
|
+
// values into each representation.
|
|
939
|
+
for (const name of ['allOf', 'anyOf', 'oneOf'])
|
|
940
|
+
if (current[name]) normalize(current[name], root)
|
|
941
|
+
for (const [name, child] of Object.entries(current))
|
|
942
|
+
if (!['allOf', 'anyOf', 'example', 'examples', 'items', 'oneOf', 'properties'].includes(name))
|
|
943
|
+
normalize(child, root)
|
|
944
|
+
|
|
945
|
+
if (!('$ref' in current) && !('example' in current) && !('examples' in current)) {
|
|
946
|
+
const [found, example] = deriveExample(root, current)
|
|
947
|
+
if (found) current['examples'] = [example]
|
|
948
|
+
}
|
|
949
|
+
}
|
|
950
|
+
|
|
951
|
+
type DerivedExample = readonly [found: boolean, value: unknown]
|
|
952
|
+
|
|
953
|
+
function deriveExample(
|
|
954
|
+
root: unknown,
|
|
955
|
+
schema: Record<string, unknown>,
|
|
956
|
+
seen: ReadonlySet<string> = new Set(),
|
|
957
|
+
): DerivedExample {
|
|
958
|
+
if ('example' in schema) return [true, schema['example']]
|
|
959
|
+
if (Array.isArray(schema['examples']) && schema['examples'].length)
|
|
960
|
+
return [true, schema['examples'][0]]
|
|
961
|
+
|
|
962
|
+
const schemaLike = [
|
|
963
|
+
'$ref',
|
|
964
|
+
'allOf',
|
|
965
|
+
'anyOf',
|
|
966
|
+
'const',
|
|
967
|
+
'enum',
|
|
968
|
+
'items',
|
|
969
|
+
'oneOf',
|
|
970
|
+
'properties',
|
|
971
|
+
'type',
|
|
972
|
+
].some((name) => name in schema)
|
|
973
|
+
if (!schemaLike) return [false, undefined]
|
|
974
|
+
|
|
975
|
+
if ('const' in schema) return [true, schema['const']]
|
|
976
|
+
if (Array.isArray(schema['enum']) && schema['enum'].length) return [true, schema['enum'][0]]
|
|
977
|
+
if ('default' in schema) return [true, schema['default']]
|
|
978
|
+
|
|
979
|
+
if (typeof schema['$ref'] === 'string' && !seen.has(schema['$ref'])) {
|
|
980
|
+
const target = resolvePointer(root, schema['$ref'])
|
|
981
|
+
if (target && typeof target === 'object' && !Array.isArray(target))
|
|
982
|
+
return deriveExample(
|
|
983
|
+
root,
|
|
984
|
+
target as Record<string, unknown>,
|
|
985
|
+
new Set([...seen, schema['$ref']]),
|
|
986
|
+
)
|
|
987
|
+
}
|
|
988
|
+
|
|
989
|
+
for (const name of ['oneOf', 'anyOf'])
|
|
990
|
+
if (Array.isArray(schema[name]))
|
|
991
|
+
for (const branch of schema[name]) {
|
|
992
|
+
if (!branch || typeof branch !== 'object' || Array.isArray(branch)) continue
|
|
993
|
+
const result = deriveExample(root, branch as Record<string, unknown>, seen)
|
|
994
|
+
if (result[0]) return result
|
|
995
|
+
}
|
|
996
|
+
|
|
997
|
+
if (Array.isArray(schema['allOf'])) {
|
|
998
|
+
const merged: Record<string, unknown> = {}
|
|
999
|
+
let found = false
|
|
1000
|
+
for (const branch of schema['allOf']) {
|
|
1001
|
+
if (!branch || typeof branch !== 'object' || Array.isArray(branch)) continue
|
|
1002
|
+
const result = deriveExample(root, branch as Record<string, unknown>, seen)
|
|
1003
|
+
if (!result[0] || !result[1] || typeof result[1] !== 'object' || Array.isArray(result[1]))
|
|
1004
|
+
continue
|
|
1005
|
+
Object.assign(merged, result[1])
|
|
1006
|
+
found = true
|
|
1007
|
+
}
|
|
1008
|
+
if (found) return [true, merged]
|
|
1009
|
+
}
|
|
1010
|
+
|
|
1011
|
+
if (schema['type'] === 'array' && schema['items']) {
|
|
1012
|
+
const items = schema['items']
|
|
1013
|
+
if (items && typeof items === 'object' && !Array.isArray(items)) {
|
|
1014
|
+
const result = deriveExample(root, items as Record<string, unknown>, seen)
|
|
1015
|
+
if (result[0]) return [true, [result[1]]]
|
|
1016
|
+
}
|
|
1017
|
+
}
|
|
1018
|
+
|
|
1019
|
+
const properties = schema['properties']
|
|
1020
|
+
if (properties && typeof properties === 'object' && !Array.isArray(properties)) {
|
|
1021
|
+
const example: Record<string, unknown> = {}
|
|
1022
|
+
const required = new Set(Array.isArray(schema['required']) ? schema['required'] : [])
|
|
1023
|
+
for (const [name, property] of Object.entries(properties)) {
|
|
1024
|
+
if (!required.has(name)) continue
|
|
1025
|
+
if (!property || typeof property !== 'object' || Array.isArray(property)) continue
|
|
1026
|
+
const result = deriveExample(root, property as Record<string, unknown>, seen)
|
|
1027
|
+
if (result[0]) example[name] = result[1]
|
|
1028
|
+
else return [false, undefined]
|
|
1029
|
+
}
|
|
1030
|
+
return [true, example]
|
|
1031
|
+
}
|
|
1032
|
+
|
|
1033
|
+
if (schema['type'] === 'object') return [true, {}]
|
|
1034
|
+
|
|
1035
|
+
return [false, undefined]
|
|
1036
|
+
}
|
|
1037
|
+
|
|
1038
|
+
function resolvePointer(root: unknown, pointer: string) {
|
|
1039
|
+
if (!pointer.startsWith('#/')) return undefined
|
|
1040
|
+
return pointer
|
|
1041
|
+
.slice(2)
|
|
1042
|
+
.split('/')
|
|
1043
|
+
.map((part) => part.replaceAll('~1', '/').replaceAll('~0', '~'))
|
|
1044
|
+
.reduce<unknown>((value, part) => {
|
|
1045
|
+
if (!value || typeof value !== 'object' || Array.isArray(value)) return undefined
|
|
1046
|
+
return (value as Record<string, unknown>)[part]
|
|
1047
|
+
}, root)
|
|
1048
|
+
}
|
|
1049
|
+
|
|
1050
|
+
function matchesSchemaType(schema: Record<string, unknown>, value: unknown) {
|
|
1051
|
+
switch (schema['type']) {
|
|
1052
|
+
case 'array':
|
|
1053
|
+
return Array.isArray(value)
|
|
1054
|
+
case 'boolean':
|
|
1055
|
+
return typeof value === 'boolean'
|
|
1056
|
+
case 'integer':
|
|
1057
|
+
return typeof value === 'number' && Number.isInteger(value)
|
|
1058
|
+
case 'null':
|
|
1059
|
+
return value === null
|
|
1060
|
+
case 'number':
|
|
1061
|
+
return typeof value === 'number'
|
|
1062
|
+
case 'object':
|
|
1063
|
+
return !!value && typeof value === 'object' && !Array.isArray(value)
|
|
1064
|
+
case 'string':
|
|
1065
|
+
return typeof value === 'string'
|
|
1066
|
+
default:
|
|
1067
|
+
return true
|
|
1068
|
+
}
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
/** Removes route-composition metadata that is not part of an OpenAPI operation. */
|
|
1072
|
+
export function removePrivateFields(paths: PathsObject) {
|
|
1073
|
+
for (const item of Object.values(paths))
|
|
1074
|
+
for (const op of Object.values(item as Record<string, unknown>))
|
|
1075
|
+
if (isMutableOperation(op)) delete op.hide
|
|
1076
|
+
}
|
|
1077
|
+
|
|
776
1078
|
// Reorder OpenAPI `paths` so reads come before writes within each tag group,
|
|
777
1079
|
// and shallower paths come before deeper paths inside each bucket so root-level
|
|
778
1080
|
// routes ("List tokens" — `/tokens`) win over nested ones ("List address
|
|
@@ -798,13 +1100,13 @@ namespace OpenApiDocument {
|
|
|
798
1100
|
// 1 item (`GET`+`PATCH`+`DELETE /webhooks/{id}`) → "Get, Update, Delete"
|
|
799
1101
|
// 2 other list-only paths (`/event-types`, `/deliveries`)
|
|
800
1102
|
// 3 other writes/actions (`POST .../ping`, `.../retry`)
|
|
801
|
-
//
|
|
802
|
-
const
|
|
803
|
-
'
|
|
804
|
-
'
|
|
805
|
-
'
|
|
806
|
-
'
|
|
807
|
-
'
|
|
1103
|
+
// Route deposit paths preserve their resource-specific sidebar order.
|
|
1104
|
+
const routesDepositOperationOrder = [
|
|
1105
|
+
'createRoutesDepositAddress',
|
|
1106
|
+
'reconcileRoutesDepositAddress',
|
|
1107
|
+
'getRoutesDepositAddress',
|
|
1108
|
+
'getRoutesDeposit',
|
|
1109
|
+
'listRoutesDeposits',
|
|
808
1110
|
] as const
|
|
809
1111
|
|
|
810
1112
|
export function sortPaths(paths: PathsObject): PathsObject {
|
|
@@ -822,12 +1124,12 @@ namespace OpenApiDocument {
|
|
|
822
1124
|
return 3
|
|
823
1125
|
}
|
|
824
1126
|
if (operations.some((op) => isOperation(op) && op.tags?.includes('Deposit Addresses'))) {
|
|
825
|
-
const index =
|
|
1127
|
+
const index = routesDepositOperationOrder.findIndex((operationId) =>
|
|
826
1128
|
operations.some((op) => isOperation(op) && op.operationId === operationId),
|
|
827
1129
|
)
|
|
828
1130
|
if (index >= 0) return index
|
|
829
1131
|
}
|
|
830
|
-
if (/\/v1\/
|
|
1132
|
+
if (/\/v1\/routes(?:\/|$)/.test(entry[0])) {
|
|
831
1133
|
if (has('Create')) return 1
|
|
832
1134
|
if (has('Get transfer')) return 2
|
|
833
1135
|
return 0
|
|
@@ -863,7 +1165,7 @@ namespace OpenApiDocument {
|
|
|
863
1165
|
: []),
|
|
864
1166
|
...(lanes.public ? [{}] : []),
|
|
865
1167
|
]
|
|
866
|
-
if (security.length > 0) op.security = security
|
|
1168
|
+
if (security.length > 0 || lanes.bypass) op.security = security
|
|
867
1169
|
if (lanes.scopes.length > 0) op['x-required-scopes'] = [...lanes.scopes]
|
|
868
1170
|
if (lanes.mpp) op.responses = { ...op.responses, 402: OpenApi.paymentChallengeRef }
|
|
869
1171
|
else if (op.responses) delete op.responses['402']
|
|
@@ -874,8 +1176,8 @@ namespace OpenApiDocument {
|
|
|
874
1176
|
/**
|
|
875
1177
|
* Links the JSON-RPC passthrough operation to the OpenRPC document (served at
|
|
876
1178
|
* `{basePath}/openrpc.json`) via an `x-openrpc` vendor extension. The raw `/rpc`
|
|
877
|
-
*
|
|
878
|
-
* method
|
|
1179
|
+
* schemas in OpenAPI are generic, so this lets consumers discover each
|
|
1180
|
+
* method's specific parameter and return schemas.
|
|
879
1181
|
*
|
|
880
1182
|
* The public `/openapi.json` keeps a URL reference (small, conventional). The
|
|
881
1183
|
* docs handler instead inlines the document — see `inlineOpenrpc` in `tapimo/docs`.
|
|
@@ -893,6 +1195,7 @@ namespace OpenApiDocument {
|
|
|
893
1195
|
type PathItem = PathsObject[string]
|
|
894
1196
|
type Operation = { operationId?: string | undefined; summary?: string | undefined }
|
|
895
1197
|
type MutableOperation = {
|
|
1198
|
+
hide?: boolean | undefined
|
|
896
1199
|
operationId: string
|
|
897
1200
|
responses?: Record<string, unknown> | undefined
|
|
898
1201
|
security?: unknown
|
package/src/Assets.test.ts
CHANGED
|
@@ -9,10 +9,10 @@ describe('url', () => {
|
|
|
9
9
|
} as const
|
|
10
10
|
|
|
11
11
|
expect(Assets.url(options)).toBe(
|
|
12
|
-
'https://api.tempo.xyz/assets/4217/icons/0x20c000000000000000000000b9537d11c60e8b50',
|
|
12
|
+
'https://api.tempo.xyz/assets/4217/icons/0x20c000000000000000000000b9537d11c60e8b50?__response=svg-sandbox-v1',
|
|
13
13
|
)
|
|
14
14
|
expect(Assets.url({ ...options, basePath: '/api/' })).toBe(
|
|
15
|
-
'https://api.tempo.xyz/api/assets/4217/icons/0x20c000000000000000000000b9537d11c60e8b50',
|
|
15
|
+
'https://api.tempo.xyz/api/assets/4217/icons/0x20c000000000000000000000b9537d11c60e8b50?__response=svg-sandbox-v1',
|
|
16
16
|
)
|
|
17
17
|
})
|
|
18
18
|
})
|
package/src/Assets.ts
CHANGED
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* (`Admin.create`'s `assets`, read + write).
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
+
import * as AssetResponse from './internal/AssetResponse.js'
|
|
10
|
+
|
|
9
11
|
/** A static asset: its bytes plus content type. */
|
|
10
12
|
export type Asset = {
|
|
11
13
|
/** Asset bytes. */
|
|
@@ -29,7 +31,7 @@ export function url(options: url.Options) {
|
|
|
29
31
|
const basePath = options.basePath?.replace(/^\/+|\/+$/g, '')
|
|
30
32
|
const path = options.path.replace(/^\/+/, '')
|
|
31
33
|
const pathname = [basePath, 'assets', String(options.chainId), path].filter(Boolean).join('/')
|
|
32
|
-
return new URL(`/${pathname}`, options.origin).toString()
|
|
34
|
+
return AssetResponse.versionUrl(new URL(`/${pathname}`, options.origin).toString())
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
export declare namespace url {
|
package/src/Auth.test-d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Hono } from 'hono'
|
|
2
2
|
import { testClient } from 'hono/testing'
|
|
3
3
|
import { expectTypeOf } from 'vite-plus/test'
|
|
4
|
-
import { App, Auth } from 'tapimo'
|
|
4
|
+
import { App, Auth } from 'tapimo/server'
|
|
5
5
|
|
|
6
6
|
describe('Auth', () => {
|
|
7
7
|
test('exports the external route-authoring surface', () => {
|