tapimo 0.15.0 → 0.18.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 +137 -0
- package/dist/ApiKey.d.ts +1 -0
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKey.js +4 -2
- package/dist/ApiKey.js.map +1 -1
- package/dist/ApiKeys.d.ts +37 -11
- package/dist/ApiKeys.d.ts.map +1 -1
- package/dist/ApiKeys.js +163 -10
- package/dist/ApiKeys.js.map +1 -1
- package/dist/App.d.ts +13085 -11974
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +46 -15
- package/dist/App.js.map +1 -1
- package/dist/Scope.d.ts +1 -1
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +1 -1
- package/dist/Scope.js.map +1 -1
- package/dist/admin/App.d.ts +896 -191
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/App.js +5 -1
- package/dist/admin/App.js.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +33 -33
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +8 -3
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/earn-vaults.d.ts +66 -27
- package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
- package/dist/admin/apps/earn-vaults.js +36 -7
- package/dist/admin/apps/earn-vaults.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts +25 -25
- package/dist/admin/apps/organizations.d.ts.map +1 -1
- package/dist/admin/apps/organizations.js +5 -4
- package/dist/admin/apps/organizations.js.map +1 -1
- package/dist/admin/apps/route-policies.d.ts +632 -0
- package/dist/admin/apps/route-policies.d.ts.map +1 -0
- package/dist/admin/apps/route-policies.js +257 -0
- package/dist/admin/apps/route-policies.js.map +1 -0
- package/dist/admin/apps/routes-support.js +39 -3
- package/dist/admin/apps/routes-support.js.map +1 -1
- package/dist/admin/apps/routes.d.ts +454 -1
- package/dist/admin/apps/routes.d.ts.map +1 -1
- package/dist/admin/apps/routes.js +82 -1
- package/dist/admin/apps/routes.js.map +1 -1
- package/dist/admin/apps/verified-tokens.d.ts +10 -4
- package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.js +24 -4
- package/dist/admin/apps/verified-tokens.js.map +1 -1
- package/dist/admin/index.d.ts +0 -1
- package/dist/admin/index.d.ts.map +1 -1
- package/dist/admin/index.js +0 -1
- package/dist/admin/index.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 +99 -103
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/analytics/Analytics.d.ts.map +1 -1
- package/dist/analytics/Analytics.js +65 -1
- package/dist/analytics/Analytics.js.map +1 -1
- package/dist/analytics/tables/requestEvents.d.ts +1 -1
- package/dist/analytics/tables/requestEvents.d.ts.map +1 -1
- package/dist/analytics/tables/requestEvents.js +58 -59
- package/dist/analytics/tables/requestEvents.js.map +1 -1
- package/dist/apps/data/App.d.ts +2709 -2670
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +5 -5
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +50 -0
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +248 -248
- package/dist/apps/data/routes/balances.d.ts +22 -22
- package/dist/apps/data/routes/balances.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.js +5 -7
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/coingecko.d.ts +54 -54
- package/dist/apps/data/routes/earn.d.ts +103 -12
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +456 -220
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
- package/dist/apps/data/routes/exchanges.js +267 -97
- package/dist/apps/data/routes/exchanges.js.map +1 -1
- package/dist/apps/data/routes/fee-amm.d.ts +1 -19
- package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
- package/dist/apps/data/routes/fee-amm.js +93 -56
- package/dist/apps/data/routes/fee-amm.js.map +1 -1
- package/dist/apps/data/routes/indexer.d.ts +10 -10
- package/dist/apps/data/routes/rpc.d.ts +30 -30
- package/dist/apps/data/routes/rpc.js +45 -11
- package/dist/apps/data/routes/rpc.js.map +1 -1
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/tokens.js +11 -6
- package/dist/apps/data/routes/tokens.js.map +1 -1
- package/dist/apps/data/routes/transactions.d.ts +2 -0
- package/dist/apps/data/routes/transactions.d.ts.map +1 -1
- package/dist/apps/data/routes/transactions.js +30 -22
- package/dist/apps/data/routes/transactions.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts +12 -12
- package/dist/apps/data/routes/valuation.d.ts +30 -30
- package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
- package/dist/apps/data/routes/webhooks.d.ts +1 -1
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +18 -11
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +3 -3
- package/dist/apps/management/App.d.ts +3043 -2198
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/App.js +2 -0
- package/dist/apps/management/App.js.map +1 -1
- package/dist/apps/management/Billing.d.ts +2 -4
- package/dist/apps/management/Billing.d.ts.map +1 -1
- package/dist/apps/management/Billing.js +65 -26
- package/dist/apps/management/Billing.js.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +16 -4
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +70 -11
- package/dist/apps/management/routes/api-keys.js.map +1 -1
- package/dist/apps/management/routes/billing.d.ts +84 -84
- package/dist/apps/management/routes/cli.d.ts +912 -0
- package/dist/apps/management/routes/cli.d.ts.map +1 -0
- package/dist/apps/management/routes/cli.js +416 -0
- package/dist/apps/management/routes/cli.js.map +1 -0
- package/dist/apps/management/routes/faucet.d.ts +8 -8
- package/dist/apps/management/routes/invitations.d.ts +24 -24
- package/dist/apps/management/routes/invite-links.d.ts +66 -66
- package/dist/apps/management/routes/members.d.ts +16 -16
- package/dist/apps/management/routes/orgs.d.ts +20 -20
- package/dist/apps/management/routes/orgs.d.ts.map +1 -1
- package/dist/apps/management/routes/orgs.js +8 -2
- package/dist/apps/management/routes/orgs.js.map +1 -1
- package/dist/apps/management/routes/projects.d.ts +76 -76
- package/dist/apps/management/routes/usage.d.ts +8 -8
- package/dist/apps/management/routes/verified-token-requests.d.ts +42 -42
- package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
- package/dist/apps/management/routes/verified-token-requests.js +7 -9
- package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
- package/dist/apps/management/routes/webhooks.d.ts +119 -119
- package/dist/apps/mcp.d.ts.map +1 -1
- package/dist/apps/mcp.js +16 -3
- package/dist/apps/mcp.js.map +1 -1
- package/dist/apps/mpp/internal/Policy.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Policy.js +4 -2
- package/dist/apps/mpp/internal/Policy.js.map +1 -1
- package/dist/apps/mpp/internal/Sponsorship.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Sponsorship.js +6 -4
- package/dist/apps/mpp/internal/Sponsorship.js.map +1 -1
- package/dist/apps/relay/App.d.ts +8 -0
- package/dist/apps/relay/App.d.ts.map +1 -1
- package/dist/apps/relay/App.js +16 -4
- package/dist/apps/relay/App.js.map +1 -1
- package/dist/apps/relay/Sponsorships.d.ts +4 -6
- package/dist/apps/relay/Sponsorships.d.ts.map +1 -1
- package/dist/apps/relay/Sponsorships.js +71 -60
- package/dist/apps/relay/Sponsorships.js.map +1 -1
- package/dist/apps/routes/Access.d.ts +53 -0
- package/dist/apps/routes/Access.d.ts.map +1 -1
- package/dist/apps/routes/Access.js +121 -0
- package/dist/apps/routes/Access.js.map +1 -1
- package/dist/apps/routes/App.d.ts +397 -158
- package/dist/apps/routes/App.d.ts.map +1 -1
- package/dist/apps/routes/App.js.map +1 -1
- package/dist/apps/routes/routes/deposit-addresses.d.ts +169 -61
- package/dist/apps/routes/routes/deposit-addresses.d.ts.map +1 -1
- package/dist/apps/routes/routes/deposit-addresses.js +217 -32
- package/dist/apps/routes/routes/deposit-addresses.js.map +1 -1
- package/dist/apps/routes/routes/quotes.d.ts +90 -0
- package/dist/apps/routes/routes/quotes.d.ts.map +1 -1
- package/dist/apps/routes/routes/quotes.js +101 -27
- package/dist/apps/routes/routes/quotes.js.map +1 -1
- package/dist/apps/routes/routes/transfers.d.ts +187 -135
- package/dist/apps/routes/routes/transfers.d.ts.map +1 -1
- package/dist/apps/routes/routes/transfers.js +182 -37
- package/dist/apps/routes/routes/transfers.js.map +1 -1
- package/dist/cli/ApiKeys.d.ts +120 -0
- package/dist/cli/ApiKeys.d.ts.map +1 -0
- package/dist/cli/ApiKeys.js +138 -0
- package/dist/cli/ApiKeys.js.map +1 -0
- package/dist/cli/Cli.d.ts +92 -34
- package/dist/cli/Cli.d.ts.map +1 -1
- package/dist/cli/Cli.js +188 -11
- package/dist/cli/Cli.js.map +1 -1
- package/dist/cli/Credentials.d.ts +95 -0
- package/dist/cli/Credentials.d.ts.map +1 -0
- package/dist/cli/Credentials.js +110 -0
- package/dist/cli/Credentials.js.map +1 -0
- package/dist/cli/Spec.d.ts +59 -0
- package/dist/cli/Spec.d.ts.map +1 -0
- package/dist/cli/Spec.js +77 -0
- package/dist/cli/Spec.js.map +1 -0
- package/dist/cli/bin.js +5 -1
- package/dist/cli/bin.js.map +1 -1
- package/dist/cli/commands/admin.d.ts +5 -5
- package/dist/cli/commands/admin.d.ts.map +1 -1
- package/dist/cli/commands/auth.d.ts +73 -0
- package/dist/cli/commands/auth.d.ts.map +1 -0
- package/dist/cli/commands/auth.js +204 -0
- package/dist/cli/commands/auth.js.map +1 -0
- package/dist/cli/commands/keys.d.ts +17 -0
- package/dist/cli/commands/keys.d.ts.map +1 -0
- package/dist/cli/commands/keys.js +109 -0
- package/dist/cli/commands/keys.js.map +1 -0
- package/dist/cloudflare.d.ts +27 -2
- package/dist/cloudflare.d.ts.map +1 -1
- package/dist/cloudflare.js +144 -17
- package/dist/cloudflare.js.map +1 -1
- package/dist/db/Db.d.ts +23 -0
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +418 -1
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +44 -1
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +56 -3
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/apiKeyAdmissions.d.ts +28 -2
- package/dist/db/tables/apiKeyAdmissions.d.ts.map +1 -1
- package/dist/db/tables/apiKeyAdmissions.js +65 -9
- package/dist/db/tables/apiKeyAdmissions.js.map +1 -1
- package/dist/db/tables/apiKeyOwnerTombstones.d.ts +2 -0
- package/dist/db/tables/apiKeyOwnerTombstones.d.ts.map +1 -1
- package/dist/db/tables/apiKeyOwnerTombstones.js +2 -2
- package/dist/db/tables/apiKeyOwnerTombstones.js.map +1 -1
- package/dist/db/tables/authAccounts.d.ts.map +1 -1
- package/dist/db/tables/authAccounts.js +1 -0
- package/dist/db/tables/authAccounts.js.map +1 -1
- package/dist/db/tables/earnVaults.d.ts +5 -1
- package/dist/db/tables/earnVaults.d.ts.map +1 -1
- package/dist/db/tables/earnVaults.js +12 -1
- package/dist/db/tables/earnVaults.js.map +1 -1
- package/dist/db/tables/organizations.d.ts +4 -2
- package/dist/db/tables/organizations.d.ts.map +1 -1
- package/dist/db/tables/organizations.js +8 -34
- package/dist/db/tables/organizations.js.map +1 -1
- package/dist/db/tables/requestUsage.d.ts +5 -1
- package/dist/db/tables/requestUsage.d.ts.map +1 -1
- package/dist/db/tables/requestUsage.js +10 -2
- package/dist/db/tables/requestUsage.js.map +1 -1
- package/dist/db/tables/rewardEligibilityAssociations.d.ts +13 -0
- package/dist/db/tables/rewardEligibilityAssociations.d.ts.map +1 -1
- package/dist/db/tables/rewardEligibilityAssociations.js +11 -0
- package/dist/db/tables/rewardEligibilityAssociations.js.map +1 -1
- package/dist/db/tables/rewardRuns.d.ts.map +1 -1
- package/dist/db/tables/rewardRuns.js +4 -0
- package/dist/db/tables/rewardRuns.js.map +1 -1
- package/dist/db/tables/rewardTransactionAttempts.d.ts.map +1 -1
- package/dist/db/tables/rewardTransactionAttempts.js +2 -0
- package/dist/db/tables/rewardTransactionAttempts.js.map +1 -1
- package/dist/db/tables/routesDepositAddresses.d.ts +29 -0
- package/dist/db/tables/routesDepositAddresses.d.ts.map +1 -1
- package/dist/db/tables/routesDepositAddresses.js +84 -31
- package/dist/db/tables/routesDepositAddresses.js.map +1 -1
- package/dist/db/tables/routesDeposits.d.ts.map +1 -1
- package/dist/db/tables/routesDeposits.js +31 -21
- package/dist/db/tables/routesDeposits.js.map +1 -1
- package/dist/db/tables/routesIdempotency.d.ts.map +1 -1
- package/dist/db/tables/routesIdempotency.js +2 -0
- package/dist/db/tables/routesIdempotency.js.map +1 -1
- package/dist/db/tables/routesPolicies.d.ts +58 -0
- package/dist/db/tables/routesPolicies.d.ts.map +1 -0
- package/dist/db/tables/routesPolicies.js +198 -0
- package/dist/db/tables/routesPolicies.js.map +1 -0
- package/dist/db/tables/routesTransferSubsidies.d.ts +22 -0
- package/dist/db/tables/routesTransferSubsidies.d.ts.map +1 -1
- package/dist/db/tables/routesTransferSubsidies.js +41 -0
- package/dist/db/tables/routesTransferSubsidies.js.map +1 -1
- package/dist/db/tables/routesTransferSubsidyNonces.d.ts.map +1 -1
- package/dist/db/tables/routesTransferSubsidyNonces.js +12 -4
- package/dist/db/tables/routesTransferSubsidyNonces.js.map +1 -1
- package/dist/db/tables/routesTransfers.d.ts +26 -1
- package/dist/db/tables/routesTransfers.d.ts.map +1 -1
- package/dist/db/tables/routesTransfers.js +36 -6
- package/dist/db/tables/routesTransfers.js.map +1 -1
- package/dist/db/tables/sponsoredTransactions.d.ts +45 -13
- package/dist/db/tables/sponsoredTransactions.d.ts.map +1 -1
- package/dist/db/tables/sponsoredTransactions.js +144 -33
- package/dist/db/tables/sponsoredTransactions.js.map +1 -1
- package/dist/db/tables/users.d.ts +2 -0
- package/dist/db/tables/users.d.ts.map +1 -1
- package/dist/db/tables/users.js +11 -0
- package/dist/db/tables/users.js.map +1 -1
- package/dist/db/tables/verifiedTokenRequests.d.ts +21 -4
- package/dist/db/tables/verifiedTokenRequests.d.ts.map +1 -1
- package/dist/db/tables/verifiedTokenRequests.js +65 -44
- package/dist/db/tables/verifiedTokenRequests.js.map +1 -1
- package/dist/handlers/internal/multisig.d.ts +1 -1
- package/dist/handlers/internal/multisig.d.ts.map +1 -1
- package/dist/handlers/internal/multisig.js +3 -2
- package/dist/handlers/internal/multisig.js.map +1 -1
- package/dist/handlers/relay.d.ts +2 -0
- package/dist/handlers/relay.d.ts.map +1 -1
- package/dist/handlers/relay.js +34 -15
- package/dist/handlers/relay.js.map +1 -1
- package/dist/internal/Auth.d.ts +73 -6
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +212 -85
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/BetterAuth.d.ts +22 -0
- package/dist/internal/BetterAuth.d.ts.map +1 -1
- package/dist/internal/BetterAuth.js +17 -14
- package/dist/internal/BetterAuth.js.map +1 -1
- package/dist/internal/Cache.d.ts +5 -0
- package/dist/internal/Cache.d.ts.map +1 -1
- package/dist/internal/Cache.js +3 -1
- package/dist/internal/Cache.js.map +1 -1
- package/dist/internal/CliAuth.d.ts +243 -0
- package/dist/internal/CliAuth.d.ts.map +1 -0
- package/dist/internal/CliAuth.js +249 -0
- package/dist/internal/CliAuth.js.map +1 -0
- package/dist/internal/EarnSharePrices.d.ts +1 -1
- package/dist/internal/EarnSharePrices.d.ts.map +1 -1
- package/dist/internal/EarnSharePrices.js +7 -3
- package/dist/internal/EarnSharePrices.js.map +1 -1
- package/dist/internal/EarnVaults.d.ts +47 -0
- package/dist/internal/EarnVaults.d.ts.map +1 -1
- package/dist/internal/EarnVaults.js +188 -4
- package/dist/internal/EarnVaults.js.map +1 -1
- package/dist/internal/EarnWithdrawals.d.ts +73 -0
- package/dist/internal/EarnWithdrawals.d.ts.map +1 -0
- package/dist/internal/EarnWithdrawals.js +189 -0
- package/dist/internal/EarnWithdrawals.js.map +1 -0
- package/dist/internal/ExecutionContext.d.ts +21 -0
- package/dist/internal/ExecutionContext.d.ts.map +1 -0
- package/dist/internal/ExecutionContext.js +16 -0
- package/dist/internal/ExecutionContext.js.map +1 -0
- package/dist/internal/Log.d.ts +7 -3
- package/dist/internal/Log.d.ts.map +1 -1
- package/dist/internal/Log.js +163 -130
- package/dist/internal/Log.js.map +1 -1
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +26 -1
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/RateLimit.d.ts +67 -0
- package/dist/internal/RateLimit.d.ts.map +1 -1
- package/dist/internal/RateLimit.js +174 -27
- package/dist/internal/RateLimit.js.map +1 -1
- package/dist/internal/Store.d.ts +6 -0
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +4 -5
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/Timing.d.ts +6 -0
- package/dist/internal/Timing.d.ts.map +1 -1
- package/dist/internal/Timing.js +21 -1
- package/dist/internal/Timing.js.map +1 -1
- package/dist/internal/Tron.d.ts +124 -0
- package/dist/internal/Tron.d.ts.map +1 -0
- package/dist/internal/Tron.js +202 -0
- package/dist/internal/Tron.js.map +1 -0
- package/dist/internal/Viem.d.ts +4 -0
- package/dist/internal/Viem.d.ts.map +1 -1
- package/dist/internal/Viem.js +25 -6
- package/dist/internal/Viem.js.map +1 -1
- package/dist/internal/rewards/Read.d.ts +2 -2
- package/dist/internal/rewards/Read.d.ts.map +1 -1
- package/dist/internal/rewards/Read.js +11 -2
- package/dist/internal/rewards/Read.js.map +1 -1
- package/dist/internal/routes/Action.d.ts +27 -0
- package/dist/internal/routes/Action.d.ts.map +1 -1
- package/dist/internal/routes/Action.js +49 -1
- package/dist/internal/routes/Action.js.map +1 -1
- package/dist/internal/routes/Chain.d.ts +2 -0
- package/dist/internal/routes/Chain.d.ts.map +1 -1
- package/dist/internal/routes/Chain.js +4 -0
- package/dist/internal/routes/Chain.js.map +1 -1
- package/dist/internal/routes/DepositAddress.d.ts.map +1 -1
- package/dist/internal/routes/DepositAddress.js +5 -0
- package/dist/internal/routes/DepositAddress.js.map +1 -1
- package/dist/internal/routes/Evidence.d.ts.map +1 -1
- package/dist/internal/routes/Evidence.js +6 -2
- package/dist/internal/routes/Evidence.js.map +1 -1
- package/dist/internal/routes/EvmTransferSettlement.d.ts +17 -0
- package/dist/internal/routes/EvmTransferSettlement.d.ts.map +1 -0
- package/dist/internal/routes/EvmTransferSettlement.js +196 -0
- package/dist/internal/routes/EvmTransferSettlement.js.map +1 -0
- package/dist/internal/routes/Policy.d.ts +161 -0
- package/dist/internal/routes/Policy.d.ts.map +1 -0
- package/dist/internal/routes/Policy.js +249 -0
- package/dist/internal/routes/Policy.js.map +1 -0
- package/dist/internal/routes/Provider.d.ts +66 -3
- package/dist/internal/routes/Provider.d.ts.map +1 -1
- package/dist/internal/routes/Provider.js +106 -27
- package/dist/internal/routes/Provider.js.map +1 -1
- package/dist/internal/routes/Quota.d.ts +57 -0
- package/dist/internal/routes/Quota.d.ts.map +1 -0
- package/dist/internal/routes/Quota.js +144 -0
- package/dist/internal/routes/Quota.js.map +1 -0
- package/dist/internal/routes/Reconciliation.d.ts.map +1 -1
- package/dist/internal/routes/Reconciliation.js +163 -47
- package/dist/internal/routes/Reconciliation.js.map +1 -1
- package/dist/internal/routes/SolanaTransferSettlement.d.ts +12 -0
- package/dist/internal/routes/SolanaTransferSettlement.d.ts.map +1 -0
- package/dist/internal/routes/SolanaTransferSettlement.js +220 -0
- package/dist/internal/routes/SolanaTransferSettlement.js.map +1 -0
- package/dist/internal/routes/SolanaTransferSubsidy.d.ts +172 -0
- package/dist/internal/routes/SolanaTransferSubsidy.d.ts.map +1 -0
- package/dist/internal/routes/SolanaTransferSubsidy.js +564 -0
- package/dist/internal/routes/SolanaTransferSubsidy.js.map +1 -0
- package/dist/internal/routes/Subsidy.d.ts +2 -2
- package/dist/internal/routes/Subsidy.d.ts.map +1 -1
- package/dist/internal/routes/Subsidy.js +2 -2
- package/dist/internal/routes/Subsidy.js.map +1 -1
- package/dist/internal/routes/Transfer.d.ts +229 -1
- package/dist/internal/routes/Transfer.d.ts.map +1 -1
- package/dist/internal/routes/Transfer.js +644 -7
- package/dist/internal/routes/Transfer.js.map +1 -1
- package/dist/internal/routes/TransferReconciliation.d.ts +6 -0
- package/dist/internal/routes/TransferReconciliation.d.ts.map +1 -1
- package/dist/internal/routes/TransferReconciliation.js +83 -159
- package/dist/internal/routes/TransferReconciliation.js.map +1 -1
- package/dist/internal/routes/TransferSettlement.d.ts +45 -0
- package/dist/internal/routes/TransferSettlement.d.ts.map +1 -0
- package/dist/internal/routes/TransferSettlement.js +2 -0
- package/dist/internal/routes/TransferSettlement.js.map +1 -0
- package/dist/internal/routes/TransferSubsidy.d.ts +23 -8
- package/dist/internal/routes/TransferSubsidy.d.ts.map +1 -1
- package/dist/internal/routes/TransferSubsidy.js +64 -5
- package/dist/internal/routes/TransferSubsidy.js.map +1 -1
- package/dist/internal/routes/TronTransferSettlement.d.ts +12 -0
- package/dist/internal/routes/TronTransferSettlement.d.ts.map +1 -0
- package/dist/internal/routes/TronTransferSettlement.js +201 -0
- package/dist/internal/routes/TronTransferSettlement.js.map +1 -0
- package/dist/internal/routes/TronTransferSubsidy.d.ts +174 -0
- package/dist/internal/routes/TronTransferSubsidy.d.ts.map +1 -0
- package/dist/internal/routes/TronTransferSubsidy.js +439 -0
- package/dist/internal/routes/TronTransferSubsidy.js.map +1 -0
- package/dist/internal/routes/index.d.ts +3 -0
- package/dist/internal/routes/index.d.ts.map +1 -1
- package/dist/internal/routes/index.js +3 -0
- package/dist/internal/routes/index.js.map +1 -1
- package/dist/internal/routes/providers/across.d.ts +3 -0
- package/dist/internal/routes/providers/across.d.ts.map +1 -1
- package/dist/internal/routes/providers/across.js +11 -0
- package/dist/internal/routes/providers/across.js.map +1 -1
- package/dist/internal/routes/providers/legacyMesh.d.ts +29 -0
- package/dist/internal/routes/providers/legacyMesh.d.ts.map +1 -0
- package/dist/internal/routes/providers/legacyMesh.js +474 -0
- package/dist/internal/routes/providers/legacyMesh.js.map +1 -0
- package/dist/internal/routes/providers/legacyMeshDelivery.d.ts +59 -0
- package/dist/internal/routes/providers/legacyMeshDelivery.d.ts.map +1 -0
- package/dist/internal/routes/providers/legacyMeshDelivery.js +229 -0
- package/dist/internal/routes/providers/legacyMeshDelivery.js.map +1 -0
- package/dist/internal/routes/providers/legacyMeshOutbound.d.ts +19 -0
- package/dist/internal/routes/providers/legacyMeshOutbound.d.ts.map +1 -0
- package/dist/internal/routes/providers/legacyMeshOutbound.js +457 -0
- package/dist/internal/routes/providers/legacyMeshOutbound.js.map +1 -0
- package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts +123 -0
- package/dist/internal/routes/providers/legacyMeshOutboundDelivery.d.ts.map +1 -0
- package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js +333 -0
- package/dist/internal/routes/providers/legacyMeshOutboundDelivery.js.map +1 -0
- package/dist/internal/routes/providers/propAmm.d.ts +70 -0
- package/dist/internal/routes/providers/propAmm.d.ts.map +1 -0
- package/dist/internal/routes/providers/propAmm.js +524 -0
- package/dist/internal/routes/providers/propAmm.js.map +1 -0
- package/dist/internal/routes/providers/relay.d.ts +4 -1
- package/dist/internal/routes/providers/relay.d.ts.map +1 -1
- package/dist/internal/routes/providers/relay.js +353 -42
- package/dist/internal/routes/providers/relay.js.map +1 -1
- package/dist/internal/routes/providers/rhino.d.ts +3 -0
- package/dist/internal/routes/providers/rhino.d.ts.map +1 -1
- package/dist/internal/routes/providers/rhino.js +11 -0
- package/dist/internal/routes/providers/rhino.js.map +1 -1
- package/dist/internal/routes/providers/squid.d.ts +3 -0
- package/dist/internal/routes/providers/squid.d.ts.map +1 -1
- package/dist/internal/routes/providers/squid.js +19 -0
- package/dist/internal/routes/providers/squid.js.map +1 -1
- package/dist/internal/routes/providers/stargate.d.ts.map +1 -1
- package/dist/internal/routes/providers/stargate.js +22 -9
- package/dist/internal/routes/providers/stargate.js.map +1 -1
- package/dist/internal/routes/providers/symbiosis.d.ts.map +1 -1
- package/dist/internal/routes/providers/symbiosis.js +13 -17
- package/dist/internal/routes/providers/symbiosis.js.map +1 -1
- package/dist/providers/index.d.ts +14 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +6 -0
- package/dist/providers/index.js.map +1 -1
- package/package.json +16 -6
- package/src/ApiKey.ts +7 -3
- package/src/ApiKeys.test.ts +652 -8
- package/src/ApiKeys.ts +191 -11
- package/src/App.test.ts +405 -18
- package/src/App.ts +51 -15
- package/src/Client.test-d.ts +157 -10
- package/src/Client.test.ts +4 -4
- package/src/Scope.ts +1 -2
- package/src/admin/App.ts +11 -5
- package/src/admin/apps/api-keys.test.ts +98 -2
- package/src/admin/apps/api-keys.ts +21 -12
- package/src/admin/apps/earn-vaults.test.ts +76 -7
- package/src/admin/apps/earn-vaults.ts +47 -8
- package/src/admin/apps/organizations.test.ts +147 -31
- package/src/admin/apps/organizations.ts +5 -4
- package/src/admin/apps/route-policies.test.ts +220 -0
- package/src/admin/apps/route-policies.ts +322 -0
- package/src/admin/apps/routes-support.test.ts +107 -2
- package/src/admin/apps/routes-support.ts +43 -3
- package/src/admin/apps/routes.test.ts +150 -0
- package/src/admin/apps/routes.ts +97 -1
- package/src/admin/apps/scopes.test.ts +1 -1
- package/src/admin/apps/verified-tokens.test.ts +32 -0
- package/src/admin/apps/verified-tokens.ts +30 -4
- package/src/admin/index.ts +0 -1
- package/src/admin/ui/plugin.ts +2 -1
- package/src/admin/ui/src/components/Dialog.tsx +1 -1
- package/src/admin/ui/src/components/EarnVaultForm.tsx +45 -0
- package/src/admin/ui/src/components/RoutePicker.tsx +79 -0
- package/src/admin/ui/src/lib/earn-vaults.ts +1 -1
- package/src/admin/ui/src/lib/route-policies.test.ts +452 -0
- package/src/admin/ui/src/lib/route-policies.ts +232 -0
- package/src/admin/ui/src/lib/routes.ts +34 -0
- package/src/admin/ui/src/lib/verified-tokens.ts +24 -9
- package/src/admin/ui/src/routeTree.gen.ts +21 -0
- package/src/admin/ui/src/routes/__root.tsx +1 -1
- package/src/admin/ui/src/routes/api-keys.tsx +21 -2
- package/src/admin/ui/src/routes/early-access.tsx +1 -0
- package/src/admin/ui/src/routes/earn.vaults.tsx +1 -0
- package/src/admin/ui/src/routes/earn.vaults_.$vaultId.edit.tsx +22 -0
- package/src/admin/ui/src/routes/earn.vaults_.new.tsx +10 -0
- package/src/admin/ui/src/routes/organizations.tsx +35 -4
- package/src/admin/ui/src/routes/organizations_.$orgId.tsx +18 -3
- package/src/admin/ui/src/routes/route-policies.tsx +678 -0
- package/src/admin/ui/src/routes/routes.tsx +85 -2
- package/src/admin/ui/src/routes/routes_.support.tsx +6 -22
- package/src/admin/ui/src/routes/subsidies.tsx +1 -0
- package/src/admin/ui/src/routes/verified-tokens.tsx +65 -20
- package/src/admin/ui.generated.ts +99 -104
- package/src/analytics/Analytics.test.ts +4 -50
- package/src/analytics/Analytics.ts +65 -1
- package/src/analytics/tables/requestEvents.test.ts +402 -1
- package/src/analytics/tables/requestEvents.ts +62 -93
- package/src/apps/data/App.test.ts +26 -0
- package/src/apps/data/routes/activities.test.ts +315 -14
- package/src/apps/data/routes/activities.ts +60 -0
- package/src/apps/data/routes/balances.ts +5 -7
- package/src/apps/data/routes/earn.bench.ts +18 -0
- package/src/apps/data/routes/earn.local.test.ts +507 -0
- package/src/apps/data/routes/earn.test.ts +405 -127
- package/src/apps/data/routes/earn.ts +660 -270
- package/src/apps/data/routes/exchanges.bench.ts +3 -1
- package/src/apps/data/routes/exchanges.test.ts +166 -2
- package/src/apps/data/routes/exchanges.ts +308 -101
- package/src/apps/data/routes/fee-amm.test.ts +153 -2
- package/src/apps/data/routes/fee-amm.ts +132 -62
- package/src/apps/data/routes/receipts.test.ts +21 -18
- package/src/apps/data/routes/rpc.test.ts +34 -2
- package/src/apps/data/routes/rpc.ts +47 -10
- package/src/apps/data/routes/tokens.provenance.test.ts +157 -0
- package/src/apps/data/routes/tokens.test.ts +4 -4
- package/src/apps/data/routes/tokens.ts +11 -6
- package/src/apps/data/routes/transactions.test.ts +29 -0
- package/src/apps/data/routes/transactions.ts +33 -22
- package/src/apps/data/routes/webhooks.scan.test.ts +29 -0
- package/src/apps/data/routes/webhooks.test.ts +18 -3
- package/src/apps/data/routes/webhooks.ts +27 -13
- package/src/apps/management/App.ts +4 -0
- package/src/apps/management/Billing.test.ts +253 -27
- package/src/apps/management/Billing.ts +83 -29
- package/src/apps/management/routes/api-keys.test.ts +1 -1
- package/src/apps/management/routes/api-keys.ts +85 -11
- package/src/apps/management/routes/billing.test.ts +68 -4
- package/src/apps/management/routes/cli.test.ts +370 -0
- package/src/apps/management/routes/cli.ts +533 -0
- package/src/apps/management/routes/me.test.ts +14 -4
- package/src/apps/management/routes/orgs.test.ts +108 -4
- package/src/apps/management/routes/orgs.ts +7 -2
- package/src/apps/management/routes/usage.test.ts +2 -2
- package/src/apps/management/routes/verified-token-requests.test.ts +16 -2
- package/src/apps/management/routes/verified-token-requests.ts +7 -10
- package/src/apps/mcp.test.ts +108 -25
- package/src/apps/mcp.ts +15 -3
- package/src/apps/mpp/internal/Policy.test.ts +51 -4
- package/src/apps/mpp/internal/Policy.ts +6 -2
- package/src/apps/mpp/internal/Sponsorship.test.ts +29 -0
- package/src/apps/mpp/internal/Sponsorship.ts +6 -4
- package/src/apps/relay/App.test.ts +85 -1
- package/src/apps/relay/App.ts +28 -4
- package/src/apps/relay/Sponsorships.test.ts +97 -1
- package/src/apps/relay/Sponsorships.ts +77 -66
- package/src/apps/routes/Access.test.ts +319 -0
- package/src/apps/routes/Access.ts +147 -0
- package/src/apps/routes/App.ts +10 -0
- package/src/apps/routes/routes/chains.test.ts +3 -2
- package/src/apps/routes/routes/deposit-addresses.test.ts +978 -34
- package/src/apps/routes/routes/deposit-addresses.ts +243 -32
- package/src/apps/routes/routes/propAmm.local.test.ts +951 -0
- package/src/apps/routes/routes/quotes.test.ts +81 -8
- package/src/apps/routes/routes/quotes.ts +109 -27
- package/src/apps/routes/routes/transfers.test.ts +252 -15
- package/src/apps/routes/routes/transfers.ts +212 -33
- package/src/cli/ApiKeys.test.ts +265 -0
- package/src/cli/ApiKeys.ts +189 -0
- package/src/cli/Cli.test.ts +188 -0
- package/src/cli/Cli.ts +280 -12
- package/src/cli/Credentials.test.ts +122 -0
- package/src/cli/Credentials.ts +144 -0
- package/src/cli/Spec.test.ts +133 -0
- package/src/cli/Spec.ts +132 -0
- package/src/cli/bin.test.ts +49 -0
- package/src/cli/bin.ts +5 -1
- package/src/cli/commands/auth.test.ts +138 -0
- package/src/cli/commands/auth.ts +254 -0
- package/src/cli/commands/keys.test.ts +68 -0
- package/src/cli/commands/keys.ts +125 -0
- package/src/cloudflare.ts +184 -36
- package/src/db/Db.test.ts +877 -0
- package/src/db/Db.ts +507 -1
- package/src/db/Schema.ts +75 -4
- package/src/db/tables/apiKeyAdmissions.test.ts +57 -0
- package/src/db/tables/apiKeyAdmissions.ts +101 -11
- package/src/db/tables/apiKeyOwnerTombstones.ts +2 -2
- package/src/db/tables/authAccounts.test.ts +30 -0
- package/src/db/tables/authAccounts.ts +1 -0
- package/src/db/tables/earnVaults.test.ts +34 -0
- package/src/db/tables/earnVaults.ts +17 -2
- package/src/db/tables/organizations.test.ts +148 -84
- package/src/db/tables/organizations.ts +11 -43
- package/src/db/tables/requestUsage.ts +13 -2
- package/src/db/tables/rewardCampaigns.test.ts +163 -0
- package/src/db/tables/rewardEligibilityAssociations.test.ts +14 -0
- package/src/db/tables/rewardEligibilityAssociations.ts +24 -0
- package/src/db/tables/rewardRuns.ts +4 -0
- package/src/db/tables/rewardTransactionAttempts.ts +2 -0
- package/src/db/tables/routesDepositAddresses.test.ts +263 -0
- package/src/db/tables/routesDepositAddresses.ts +118 -34
- package/src/db/tables/routesDeposits.test.ts +133 -0
- package/src/db/tables/routesDeposits.ts +47 -26
- package/src/db/tables/routesIdempotency.test.ts +80 -0
- package/src/db/tables/routesIdempotency.ts +2 -0
- package/src/db/tables/routesPolicies.test.ts +143 -0
- package/src/db/tables/routesPolicies.ts +251 -0
- package/src/db/tables/routesTransferSubsidies.ts +64 -0
- package/src/db/tables/routesTransferSubsidyNonces.ts +16 -4
- package/src/db/tables/routesTransfers.test.ts +183 -2
- package/src/db/tables/routesTransfers.ts +65 -6
- package/src/db/tables/sponsoredTransactions.test.ts +351 -76
- package/src/db/tables/sponsoredTransactions.ts +182 -38
- package/src/db/tables/users.test.ts +51 -0
- package/src/db/tables/users.ts +12 -0
- package/src/db/tables/verifiedTokenRequests.test.ts +39 -20
- package/src/db/tables/verifiedTokenRequests.ts +80 -44
- package/src/handlers/internal/multisig.store.test.ts +120 -0
- package/src/handlers/internal/multisig.test.ts +389 -0
- package/src/handlers/internal/multisig.ts +13 -10
- package/src/handlers/relay.test.ts +259 -83
- package/src/handlers/relay.ts +36 -17
- package/src/internal/Auth.test.ts +383 -8
- package/src/internal/Auth.ts +272 -99
- package/src/internal/BetterAuth.test.ts +58 -22
- package/src/internal/BetterAuth.ts +23 -17
- package/src/internal/Cache.ts +3 -1
- package/src/internal/CliAuth.test.ts +279 -0
- package/src/internal/CliAuth.ts +319 -0
- package/src/internal/EarnSharePrices.test.ts +25 -0
- package/src/internal/EarnSharePrices.ts +9 -2
- package/src/internal/EarnVaults.test.ts +67 -0
- package/src/internal/EarnVaults.ts +299 -4
- package/src/internal/EarnWithdrawals.test.ts +315 -0
- package/src/internal/EarnWithdrawals.ts +266 -0
- package/src/internal/ExecutionContext.ts +31 -0
- package/src/internal/Log.test.ts +210 -0
- package/src/internal/Log.ts +180 -142
- package/src/internal/MetricSink.test.ts +190 -15
- package/src/internal/MetricSink.ts +27 -1
- package/src/internal/RateLimit.test.ts +144 -8
- package/src/internal/RateLimit.ts +254 -26
- package/src/internal/Store.ts +4 -5
- package/src/internal/Timing.test.ts +32 -0
- package/src/internal/Timing.ts +20 -1
- package/src/internal/Tron.test-d.ts +22 -0
- package/src/internal/Tron.test.ts +94 -0
- package/src/internal/Tron.ts +289 -0
- package/src/internal/Viem.rpc.test.ts +76 -0
- package/src/internal/Viem.ts +29 -6
- package/src/internal/rewards/Read.test.ts +109 -0
- package/src/internal/rewards/Read.ts +13 -4
- package/src/internal/routes/Action.test.ts +70 -0
- package/src/internal/routes/Action.ts +76 -1
- package/src/internal/routes/Chain.test.ts +18 -0
- package/src/internal/routes/Chain.ts +5 -0
- package/src/internal/routes/DepositAddress.ts +5 -0
- package/src/internal/routes/Evidence.test.ts +64 -0
- package/src/internal/routes/Evidence.ts +11 -3
- package/src/internal/routes/EvmTransferSettlement.ts +213 -0
- package/src/internal/routes/Policy.test.ts +316 -0
- package/src/internal/routes/Policy.ts +399 -0
- package/src/internal/routes/Provider.test.ts +103 -2
- package/src/internal/routes/Provider.ts +149 -27
- package/src/internal/routes/Quota.test.ts +149 -0
- package/src/internal/routes/Quota.ts +226 -0
- package/src/internal/routes/Reconciliation.local.test.ts +285 -0
- package/src/internal/routes/Reconciliation.test.ts +371 -13
- package/src/internal/routes/Reconciliation.ts +193 -42
- package/src/internal/routes/SolanaTransferSettlement.ts +232 -0
- package/src/internal/routes/SolanaTransferSubsidy.test.ts +471 -0
- package/src/internal/routes/SolanaTransferSubsidy.ts +760 -0
- package/src/internal/routes/SourceObservation.test.ts +221 -0
- package/src/internal/routes/Subsidy.local.test.ts +46 -0
- package/src/internal/routes/Subsidy.ts +4 -2
- package/src/internal/routes/Transfer.solana.test.ts +389 -0
- package/src/internal/routes/Transfer.test.ts +130 -1
- package/src/internal/routes/Transfer.tron.test.ts +172 -0
- package/src/internal/routes/Transfer.ts +866 -8
- package/src/internal/routes/TransferReconciliation.test.ts +26 -4
- package/src/internal/routes/TransferReconciliation.ts +91 -166
- package/src/internal/routes/TransferSettlement.ts +48 -0
- package/src/internal/routes/TransferSubsidy.local.test.ts +143 -0
- package/src/internal/routes/TransferSubsidy.test.ts +34 -4
- package/src/internal/routes/TransferSubsidy.ts +87 -12
- package/src/internal/routes/TronTransferSettlement.ts +212 -0
- package/src/internal/routes/TronTransferSubsidy.test.ts +109 -0
- package/src/internal/routes/TronTransferSubsidy.ts +619 -0
- package/src/internal/routes/index.test.ts +3 -0
- package/src/internal/routes/index.ts +3 -0
- package/src/internal/routes/providers/across.ts +13 -0
- package/src/internal/routes/providers/index.test.ts +141 -0
- package/src/internal/routes/providers/legacyMesh.test.ts +484 -0
- package/src/internal/routes/providers/legacyMesh.ts +633 -0
- package/src/internal/routes/providers/legacyMeshDelivery.test.ts +306 -0
- package/src/internal/routes/providers/legacyMeshDelivery.ts +320 -0
- package/src/internal/routes/providers/legacyMeshOutbound.test.ts +401 -0
- package/src/internal/routes/providers/legacyMeshOutbound.ts +566 -0
- package/src/internal/routes/providers/legacyMeshOutboundDelivery.ts +473 -0
- package/src/internal/routes/providers/propAmm.ts +640 -0
- package/src/internal/routes/providers/relay.test.ts +1299 -18
- package/src/internal/routes/providers/relay.ts +424 -39
- package/src/internal/routes/providers/rhino.ts +14 -1
- package/src/internal/routes/providers/squid.ts +21 -0
- package/src/internal/routes/providers/stargate.test.ts +105 -1
- package/src/internal/routes/providers/stargate.ts +22 -9
- package/src/internal/routes/providers/symbiosis.ts +13 -47
- package/src/providers/index.test.ts +2 -0
- package/src/providers/index.ts +18 -0
- package/dist/admin/Access.d.ts +0 -39
- package/dist/admin/Access.d.ts.map +0 -1
- package/dist/admin/Access.js +0 -73
- package/dist/admin/Access.js.map +0 -1
- package/src/admin/Access.test.ts +0 -130
- package/src/admin/Access.ts +0 -85
|
@@ -161,6 +161,40 @@ export namespace getTransfer {
|
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|
|
164
|
+
/** Retry one stuck route transfer. */
|
|
165
|
+
export namespace retryTransfer {
|
|
166
|
+
/** Transfer to retry at the version the operator reviewed. */
|
|
167
|
+
export type Input = {
|
|
168
|
+
/** Route transfer id. */
|
|
169
|
+
id: string
|
|
170
|
+
/** Reviewed transfer version. */
|
|
171
|
+
version: number
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/** Returns an action-required transfer to processing for reconciliation. */
|
|
175
|
+
export async function fn(options: Input) {
|
|
176
|
+
const response = await client.routes.transfers[':id'].retry.$post({
|
|
177
|
+
json: { version: options.version },
|
|
178
|
+
param: { id: options.id },
|
|
179
|
+
})
|
|
180
|
+
if (response.status === 409) {
|
|
181
|
+
const { error } = await response.json()
|
|
182
|
+
throw new Error(error.message)
|
|
183
|
+
}
|
|
184
|
+
if (!response.ok) throw new Error('Failed to retry the route transfer.')
|
|
185
|
+
return response.json()
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/** Creates a mutation that retries a transfer and refreshes routes queries. */
|
|
189
|
+
export function useMutation() {
|
|
190
|
+
const queryClient = ReactQuery.useQueryClient()
|
|
191
|
+
return ReactQuery.useMutation({
|
|
192
|
+
mutationFn: fn,
|
|
193
|
+
onSuccess: () => queryClient.invalidateQueries({ queryKey: ['routes'] }),
|
|
194
|
+
})
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
|
|
164
198
|
/** List detected route deposits. */
|
|
165
199
|
export namespace listDeposits {
|
|
166
200
|
/** One page of detected route deposits. */
|
|
@@ -76,26 +76,41 @@ export namespace create {
|
|
|
76
76
|
|
|
77
77
|
/** Review queue over organization verification requests. */
|
|
78
78
|
export namespace requests {
|
|
79
|
+
/** One page returned by the queue endpoint. */
|
|
80
|
+
export type Data = InferResponseType<(typeof client)['verified-tokens']['requests']['$get'], 200>
|
|
81
|
+
|
|
79
82
|
/** A verification request record from the queue endpoint. */
|
|
80
|
-
export type VerifiedTokenRequest =
|
|
81
|
-
(typeof client)['verified-tokens']['requests']['$get'],
|
|
82
|
-
200
|
|
83
|
-
>['data'][number]
|
|
83
|
+
export type VerifiedTokenRequest = Data['data'][number]
|
|
84
84
|
|
|
85
85
|
export namespace list {
|
|
86
86
|
export function key() {
|
|
87
87
|
return ['verified-token-requests'] as const
|
|
88
88
|
}
|
|
89
|
-
export async function fn() {
|
|
90
|
-
const response = await client['verified-tokens'].requests.$get({
|
|
89
|
+
export async function fn(options: fn.Options) {
|
|
90
|
+
const response = await client['verified-tokens'].requests.$get({
|
|
91
|
+
query: { ...options, limit: '5' },
|
|
92
|
+
})
|
|
91
93
|
if (!response.ok) throw new Error('Failed to load requests.')
|
|
92
|
-
return response.json()
|
|
94
|
+
return response.json() as Promise<Data>
|
|
95
|
+
}
|
|
96
|
+
export declare namespace fn {
|
|
97
|
+
/** Review-queue page selection. */
|
|
98
|
+
type Options = {
|
|
99
|
+
/** Cursor after the previous loaded page. */
|
|
100
|
+
cursor?: string | undefined
|
|
101
|
+
}
|
|
93
102
|
}
|
|
94
103
|
export function options() {
|
|
95
|
-
return ReactQuery.
|
|
104
|
+
return ReactQuery.infiniteQueryOptions({
|
|
105
|
+
getNextPageParam: (page: Data) => page.nextCursor ?? undefined,
|
|
106
|
+
initialPageParam: null as string | null,
|
|
107
|
+
queryFn: ({ pageParam }): Promise<Data> => fn({ cursor: pageParam ?? undefined }),
|
|
108
|
+
queryKey: key(),
|
|
109
|
+
staleTime: 30_000,
|
|
110
|
+
})
|
|
96
111
|
}
|
|
97
112
|
export function useQuery() {
|
|
98
|
-
return ReactQuery.
|
|
113
|
+
return ReactQuery.useInfiniteQuery(options())
|
|
99
114
|
}
|
|
100
115
|
}
|
|
101
116
|
|
|
@@ -12,6 +12,7 @@ import { Route as rootRouteImport } from './routes/__root.js'
|
|
|
12
12
|
import { Route as VerifiedTokensRouteImport } from './routes/verified-tokens.js'
|
|
13
13
|
import { Route as SubsidiesRouteImport } from './routes/subsidies.js'
|
|
14
14
|
import { Route as RoutesRouteImport } from './routes/routes.js'
|
|
15
|
+
import { Route as RoutePoliciesRouteImport } from './routes/route-policies.js'
|
|
15
16
|
import { Route as OrganizationsRouteImport } from './routes/organizations.js'
|
|
16
17
|
import { Route as EarlyAccessRouteImport } from './routes/early-access.js'
|
|
17
18
|
import { Route as ApiKeysRouteImport } from './routes/api-keys.js'
|
|
@@ -37,6 +38,11 @@ const RoutesRoute = RoutesRouteImport.update({
|
|
|
37
38
|
path: '/routes',
|
|
38
39
|
getParentRoute: () => rootRouteImport,
|
|
39
40
|
} as any)
|
|
41
|
+
const RoutePoliciesRoute = RoutePoliciesRouteImport.update({
|
|
42
|
+
id: '/route-policies',
|
|
43
|
+
path: '/route-policies',
|
|
44
|
+
getParentRoute: () => rootRouteImport,
|
|
45
|
+
} as any)
|
|
40
46
|
const OrganizationsRoute = OrganizationsRouteImport.update({
|
|
41
47
|
id: '/organizations',
|
|
42
48
|
path: '/organizations',
|
|
@@ -88,6 +94,7 @@ export interface FileRoutesByFullPath {
|
|
|
88
94
|
'/api-keys': typeof ApiKeysRoute
|
|
89
95
|
'/early-access': typeof EarlyAccessRoute
|
|
90
96
|
'/organizations': typeof OrganizationsRoute
|
|
97
|
+
'/route-policies': typeof RoutePoliciesRoute
|
|
91
98
|
'/routes': typeof RoutesRoute
|
|
92
99
|
'/subsidies': typeof SubsidiesRoute
|
|
93
100
|
'/verified-tokens': typeof VerifiedTokensRoute
|
|
@@ -102,6 +109,7 @@ export interface FileRoutesByTo {
|
|
|
102
109
|
'/api-keys': typeof ApiKeysRoute
|
|
103
110
|
'/early-access': typeof EarlyAccessRoute
|
|
104
111
|
'/organizations': typeof OrganizationsRoute
|
|
112
|
+
'/route-policies': typeof RoutePoliciesRoute
|
|
105
113
|
'/routes': typeof RoutesRoute
|
|
106
114
|
'/subsidies': typeof SubsidiesRoute
|
|
107
115
|
'/verified-tokens': typeof VerifiedTokensRoute
|
|
@@ -117,6 +125,7 @@ export interface FileRoutesById {
|
|
|
117
125
|
'/api-keys': typeof ApiKeysRoute
|
|
118
126
|
'/early-access': typeof EarlyAccessRoute
|
|
119
127
|
'/organizations': typeof OrganizationsRoute
|
|
128
|
+
'/route-policies': typeof RoutePoliciesRoute
|
|
120
129
|
'/routes': typeof RoutesRoute
|
|
121
130
|
'/subsidies': typeof SubsidiesRoute
|
|
122
131
|
'/verified-tokens': typeof VerifiedTokensRoute
|
|
@@ -133,6 +142,7 @@ export interface FileRouteTypes {
|
|
|
133
142
|
| '/api-keys'
|
|
134
143
|
| '/early-access'
|
|
135
144
|
| '/organizations'
|
|
145
|
+
| '/route-policies'
|
|
136
146
|
| '/routes'
|
|
137
147
|
| '/subsidies'
|
|
138
148
|
| '/verified-tokens'
|
|
@@ -147,6 +157,7 @@ export interface FileRouteTypes {
|
|
|
147
157
|
| '/api-keys'
|
|
148
158
|
| '/early-access'
|
|
149
159
|
| '/organizations'
|
|
160
|
+
| '/route-policies'
|
|
150
161
|
| '/routes'
|
|
151
162
|
| '/subsidies'
|
|
152
163
|
| '/verified-tokens'
|
|
@@ -161,6 +172,7 @@ export interface FileRouteTypes {
|
|
|
161
172
|
| '/api-keys'
|
|
162
173
|
| '/early-access'
|
|
163
174
|
| '/organizations'
|
|
175
|
+
| '/route-policies'
|
|
164
176
|
| '/routes'
|
|
165
177
|
| '/subsidies'
|
|
166
178
|
| '/verified-tokens'
|
|
@@ -176,6 +188,7 @@ export interface RootRouteChildren {
|
|
|
176
188
|
ApiKeysRoute: typeof ApiKeysRoute
|
|
177
189
|
EarlyAccessRoute: typeof EarlyAccessRoute
|
|
178
190
|
OrganizationsRoute: typeof OrganizationsRoute
|
|
191
|
+
RoutePoliciesRoute: typeof RoutePoliciesRoute
|
|
179
192
|
RoutesRoute: typeof RoutesRoute
|
|
180
193
|
SubsidiesRoute: typeof SubsidiesRoute
|
|
181
194
|
VerifiedTokensRoute: typeof VerifiedTokensRoute
|
|
@@ -209,6 +222,13 @@ declare module '@tanstack/react-router' {
|
|
|
209
222
|
preLoaderRoute: typeof RoutesRouteImport
|
|
210
223
|
parentRoute: typeof rootRouteImport
|
|
211
224
|
}
|
|
225
|
+
'/route-policies': {
|
|
226
|
+
id: '/route-policies'
|
|
227
|
+
path: '/route-policies'
|
|
228
|
+
fullPath: '/route-policies'
|
|
229
|
+
preLoaderRoute: typeof RoutePoliciesRouteImport
|
|
230
|
+
parentRoute: typeof rootRouteImport
|
|
231
|
+
}
|
|
212
232
|
'/organizations': {
|
|
213
233
|
id: '/organizations'
|
|
214
234
|
path: '/organizations'
|
|
@@ -280,6 +300,7 @@ const rootRouteChildren: RootRouteChildren = {
|
|
|
280
300
|
ApiKeysRoute: ApiKeysRoute,
|
|
281
301
|
EarlyAccessRoute: EarlyAccessRoute,
|
|
282
302
|
OrganizationsRoute: OrganizationsRoute,
|
|
303
|
+
RoutePoliciesRoute: RoutePoliciesRoute,
|
|
283
304
|
RoutesRoute: RoutesRoute,
|
|
284
305
|
SubsidiesRoute: SubsidiesRoute,
|
|
285
306
|
VerifiedTokensRoute: VerifiedTokensRoute,
|
|
@@ -111,7 +111,7 @@ function Admin() {
|
|
|
111
111
|
<div className="relative flex min-h-dvh min-w-[360px] bg-background max-md:h-dvh max-md:flex-col max-md:overflow-hidden">
|
|
112
112
|
<div className="flex-1 bg-background max-md:hidden" />
|
|
113
113
|
<Sidebar email={email} logoutUrl={logoutUrl} />
|
|
114
|
-
<main className="flex w-full max-w-[1024px] flex-col px-4 pt-5 pb-10 max-md:min-h-0 max-md:flex-1 max-md:overflow-y-auto sm:px-8">
|
|
114
|
+
<main className="flex min-w-0 w-full max-w-[1024px] flex-col px-4 pt-5 pb-10 max-md:min-h-0 max-md:flex-1 max-md:overflow-y-auto sm:px-8">
|
|
115
115
|
<Outlet />
|
|
116
116
|
</main>
|
|
117
117
|
<div className="flex-1 max-md:hidden" />
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useInfiniteQuery } from '@tanstack/react-query'
|
|
2
|
-
import { createFileRoute, useNavigate } from '@tanstack/react-router'
|
|
2
|
+
import { createFileRoute, Link, useNavigate } from '@tanstack/react-router'
|
|
3
3
|
import { type ReactNode, useEffect, useId, useState } from 'react'
|
|
4
4
|
import { Button, cx, Fields, Input, Rows, Select, useCopy } from 'regen-ui'
|
|
5
5
|
import {
|
|
@@ -25,6 +25,7 @@ import * as Organizations from '../lib/organizations.js'
|
|
|
25
25
|
import * as Scopes from '../lib/scopes.js'
|
|
26
26
|
|
|
27
27
|
export const Route = createFileRoute('/api-keys')({
|
|
28
|
+
head: () => ({ meta: [{ title: 'API Keys | Tempo API Admin' }] }),
|
|
28
29
|
validateSearch: ApiKeys.search,
|
|
29
30
|
loaderDeps: ({ search }) => search,
|
|
30
31
|
loader: ({ context, deps }) =>
|
|
@@ -810,7 +811,25 @@ function KeyRow(props: { currentUser?: string | undefined; record: ApiKeys.ApiKe
|
|
|
810
811
|
)}
|
|
811
812
|
</Detail>
|
|
812
813
|
</dl>
|
|
813
|
-
<div className="flex justify-end gap-2 border-t border-border px-5 py-3">
|
|
814
|
+
<div className="flex flex-wrap justify-end gap-2 border-t border-border px-5 py-3">
|
|
815
|
+
{record.scopes.includes('routes:write') && record.orgId !== record.id ? (
|
|
816
|
+
<Button
|
|
817
|
+
size="small"
|
|
818
|
+
render={
|
|
819
|
+
<Link
|
|
820
|
+
to="/route-policies"
|
|
821
|
+
search={{
|
|
822
|
+
apiKeyId: record.id,
|
|
823
|
+
environment: record.environment,
|
|
824
|
+
orgId: record.orgId,
|
|
825
|
+
projectId: record.projectId,
|
|
826
|
+
}}
|
|
827
|
+
/>
|
|
828
|
+
}
|
|
829
|
+
>
|
|
830
|
+
Manage route policies
|
|
831
|
+
</Button>
|
|
832
|
+
) : null}
|
|
814
833
|
<EditDialog record={record} />
|
|
815
834
|
<RotateDialog record={record} />
|
|
816
835
|
<RevokeDialog currentUser={currentUser} record={record} />
|
|
@@ -9,6 +9,7 @@ import * as EarlyAccess from '../lib/early-access.js'
|
|
|
9
9
|
import * as Format from '../lib/format.js'
|
|
10
10
|
|
|
11
11
|
export const Route = createFileRoute('/early-access')({
|
|
12
|
+
head: () => ({ meta: [{ title: 'Early Access | Tempo API Admin' }] }),
|
|
12
13
|
loader: ({ context }) => context.queryClient.prefetchQuery(EarlyAccess.list.options()),
|
|
13
14
|
component: RouteComponent,
|
|
14
15
|
})
|
|
@@ -16,6 +16,7 @@ const explorers: Record<EarnVaults.ChainId, string> = {
|
|
|
16
16
|
|
|
17
17
|
/** Route listing verified Earn vaults. */
|
|
18
18
|
export const Route = createFileRoute('/earn/vaults')({
|
|
19
|
+
head: () => ({ meta: [{ title: 'Earn Vaults | Tempo API Admin' }] }),
|
|
19
20
|
validateSearch: EarnVaults.schema.Search,
|
|
20
21
|
loaderDeps: ({ search }) => ({
|
|
21
22
|
chainId: search.chainId ?? EarnVaults.defaultChain,
|
|
@@ -12,6 +12,7 @@ import * as RewardCampaigns from '../lib/reward-campaigns.js'
|
|
|
12
12
|
|
|
13
13
|
/** Route for editing a verified Earn vault. */
|
|
14
14
|
export const Route = createFileRoute('/earn/vaults_/$vaultId/edit')({
|
|
15
|
+
head: () => ({ meta: [{ title: 'Edit vault | Tempo API Admin' }] }),
|
|
15
16
|
validateSearch: z.extend(EarnVaults.schema.Search, {
|
|
16
17
|
tab: z.optional(z.union([z.literal('overview'), z.literal('rewards')])),
|
|
17
18
|
}),
|
|
@@ -134,6 +135,20 @@ function Page() {
|
|
|
134
135
|
placeholder="One token address per line"
|
|
135
136
|
rows={3}
|
|
136
137
|
/>
|
|
138
|
+
<fieldset className="flex flex-col gap-3 border-t border-border pt-5">
|
|
139
|
+
<legend className="text-label-14 text-foreground">Zone Earn routers</legend>
|
|
140
|
+
{vault.zones?.map((route) => (
|
|
141
|
+
<p className="text-copy-13 text-foreground-secondary" key={route.earnRouter}>
|
|
142
|
+
Zone {route.chainId}: {route.earnRouter}
|
|
143
|
+
</p>
|
|
144
|
+
))}
|
|
145
|
+
<EarnVaultForm.AddressInput label="Add parent-chain router address" name="zoneRouter" />
|
|
146
|
+
<p className="text-copy-13 text-foreground-secondary">
|
|
147
|
+
The API verifies the router bindings and finds its deployment block from historical
|
|
148
|
+
chain state. An archive RPC is required.
|
|
149
|
+
</p>
|
|
150
|
+
</fieldset>
|
|
151
|
+
<EarnVaultForm.Earnings value={vault.earnings} />
|
|
137
152
|
</EarnVaultForm>
|
|
138
153
|
</div>
|
|
139
154
|
{rewardsVisited ? (
|
|
@@ -155,14 +170,21 @@ type VaultAddress = EarnVaults.InsertInput['vaultAddress']
|
|
|
155
170
|
|
|
156
171
|
function inputFrom(form: FormData, options: inputFrom.Options): EarnVaults.InsertInput {
|
|
157
172
|
const slug = field(form, 'slug')
|
|
173
|
+
const zoneRouter = addresses(form, 'zoneRouter')[0]
|
|
158
174
|
return {
|
|
159
175
|
chainId: options.chainId,
|
|
160
176
|
description: field(form, 'description') || null,
|
|
177
|
+
earnings: form.has('inheritEarnings')
|
|
178
|
+
? null
|
|
179
|
+
: {
|
|
180
|
+
rewardDistributors: addresses(form, 'rewardDistributors'),
|
|
181
|
+
},
|
|
161
182
|
label: field(form, 'label'),
|
|
162
183
|
privateInputTokens: addresses(form, 'privateInputTokens'),
|
|
163
184
|
privateOutputTokens: addresses(form, 'privateOutputTokens'),
|
|
164
185
|
...(slug ? { slug } : {}),
|
|
165
186
|
vaultAddress: options.vault.vaultAddress,
|
|
187
|
+
...(zoneRouter ? { zoneRouter } : {}),
|
|
166
188
|
}
|
|
167
189
|
}
|
|
168
190
|
|
|
@@ -10,6 +10,7 @@ import * as EarnVaults from '../lib/earn-vaults.js'
|
|
|
10
10
|
|
|
11
11
|
/** Route for adding a verified Earn vault. */
|
|
12
12
|
export const Route = createFileRoute('/earn/vaults_/new')({
|
|
13
|
+
head: () => ({ meta: [{ title: 'Add vault | Tempo API Admin' }] }),
|
|
13
14
|
validateSearch: EarnVaults.schema.Search,
|
|
14
15
|
component: Page,
|
|
15
16
|
})
|
|
@@ -149,6 +150,10 @@ function Page() {
|
|
|
149
150
|
placeholder="One token address per line"
|
|
150
151
|
rows={3}
|
|
151
152
|
/>
|
|
153
|
+
<EarnVaultForm.Earnings
|
|
154
|
+
key={`${chainId}-${resolution.data.id}-earnings`}
|
|
155
|
+
value={resolution.data.earnings}
|
|
156
|
+
/>
|
|
152
157
|
</>
|
|
153
158
|
) : null}
|
|
154
159
|
</EarnVaultForm>
|
|
@@ -163,6 +168,11 @@ function inputFrom(form: FormData, options: inputFrom.Options): EarnVaults.Inser
|
|
|
163
168
|
return {
|
|
164
169
|
chainId: options.chainId,
|
|
165
170
|
description: field(form, 'description') || null,
|
|
171
|
+
earnings: form.has('inheritEarnings')
|
|
172
|
+
? null
|
|
173
|
+
: {
|
|
174
|
+
rewardDistributors: addresses(form, 'rewardDistributors'),
|
|
175
|
+
},
|
|
166
176
|
label: field(form, 'label'),
|
|
167
177
|
privateInputTokens: addresses(form, 'privateInputTokens'),
|
|
168
178
|
privateOutputTokens: addresses(form, 'privateOutputTokens'),
|
|
@@ -6,7 +6,7 @@ import {
|
|
|
6
6
|
useNavigate,
|
|
7
7
|
useRouter,
|
|
8
8
|
} from '@tanstack/react-router'
|
|
9
|
-
import { useEffect, useState } from 'react'
|
|
9
|
+
import { useEffect, useRef, useState } from 'react'
|
|
10
10
|
import { Button, Input, Rows } from 'regen-ui'
|
|
11
11
|
import { ChevronRight, Search } from 'lucide-react'
|
|
12
12
|
|
|
@@ -15,6 +15,7 @@ import * as Format from '../lib/format.js'
|
|
|
15
15
|
import * as Organizations from '../lib/organizations.js'
|
|
16
16
|
|
|
17
17
|
export const Route = createFileRoute('/organizations')({
|
|
18
|
+
head: () => ({ meta: [{ title: 'Organizations | Tempo API Admin' }] }),
|
|
18
19
|
validateSearch: Organizations.schema.Search,
|
|
19
20
|
loaderDeps: ({ search }) => ({ query: search.query || undefined }),
|
|
20
21
|
loader: ({ context, deps }) =>
|
|
@@ -27,20 +28,39 @@ function PageComponent() {
|
|
|
27
28
|
const { query } = Route.useLoaderDeps()
|
|
28
29
|
const navigate = useNavigate({ from: Route.fullPath })
|
|
29
30
|
const [value, setValue] = useState(query ?? '')
|
|
31
|
+
const debouncedValue = useDebouncedValue(value, 300)
|
|
32
|
+
const submittedValue = useRef(query ?? '')
|
|
30
33
|
const organizations = useSuspenseInfiniteQuery(Organizations.list.options({ query }))
|
|
31
34
|
const records = organizations.data.pages.flatMap((page) => page.data)
|
|
32
35
|
const invalid = value.trim().length > 0 && value.trim().length < 3
|
|
33
36
|
|
|
34
|
-
useEffect(() =>
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
if (value.trim() !== submittedValue.current) return
|
|
39
|
+
const next = query ?? ''
|
|
40
|
+
submittedValue.current = next
|
|
41
|
+
setValue(next)
|
|
42
|
+
}, [query, value])
|
|
43
|
+
useEffect(() => {
|
|
44
|
+
const next = debouncedValue.trim()
|
|
45
|
+
if (value.trim() !== next || (next.length > 0 && next.length < 3) || next === (query ?? ''))
|
|
46
|
+
return
|
|
47
|
+
submittedValue.current = next
|
|
48
|
+
void navigate({
|
|
49
|
+
replace: true,
|
|
50
|
+
search: Organizations.searchParameters({ query: next }),
|
|
51
|
+
to: '/organizations',
|
|
52
|
+
})
|
|
53
|
+
}, [debouncedValue, navigate, query, value])
|
|
35
54
|
|
|
36
55
|
return (
|
|
37
56
|
<Page title="Organizations" description="Look up organizations by id, name, or member email">
|
|
38
57
|
<form
|
|
39
|
-
className="flex gap-2"
|
|
58
|
+
className="flex min-w-0 gap-2"
|
|
40
59
|
onSubmit={(event) => {
|
|
41
60
|
event.preventDefault()
|
|
42
61
|
const next = value.trim()
|
|
43
62
|
if (invalid) return
|
|
63
|
+
submittedValue.current = next
|
|
44
64
|
void navigate({
|
|
45
65
|
search: Organizations.searchParameters({ query: next }),
|
|
46
66
|
to: '/organizations',
|
|
@@ -56,7 +76,7 @@ function PageComponent() {
|
|
|
56
76
|
value={value}
|
|
57
77
|
/>
|
|
58
78
|
</div>
|
|
59
|
-
<Button disabled={invalid} type="submit">
|
|
79
|
+
<Button className="shrink-0" disabled={invalid} type="submit">
|
|
60
80
|
<Search className="size-4" />
|
|
61
81
|
Search
|
|
62
82
|
</Button>
|
|
@@ -127,6 +147,17 @@ function PageComponent() {
|
|
|
127
147
|
)
|
|
128
148
|
}
|
|
129
149
|
|
|
150
|
+
function useDebouncedValue(value: string, delay: number) {
|
|
151
|
+
const [debouncedValue, setDebouncedValue] = useState(value)
|
|
152
|
+
|
|
153
|
+
useEffect(() => {
|
|
154
|
+
const timeout = setTimeout(() => setDebouncedValue(value), delay)
|
|
155
|
+
return () => clearTimeout(timeout)
|
|
156
|
+
}, [delay, value])
|
|
157
|
+
|
|
158
|
+
return debouncedValue
|
|
159
|
+
}
|
|
160
|
+
|
|
130
161
|
function LookupError(options: LookupError.Props) {
|
|
131
162
|
const router = useRouter()
|
|
132
163
|
return (
|
|
@@ -27,6 +27,9 @@ export const Route = createFileRoute('/organizations_/$orgId')({
|
|
|
27
27
|
context.queryClient.ensureQueryData(Organizations.get.options(params.orgId)),
|
|
28
28
|
context.queryClient.ensureQueryData(Organizations.getSubsidies.options(params.orgId)),
|
|
29
29
|
]),
|
|
30
|
+
head: ({ loaderData }) => ({
|
|
31
|
+
meta: [{ title: `${loaderData?.[0].name ?? 'Organization'} | Tempo API Admin` }],
|
|
32
|
+
}),
|
|
30
33
|
component: PageComponent,
|
|
31
34
|
errorComponent: OrganizationError,
|
|
32
35
|
})
|
|
@@ -121,6 +124,9 @@ function PageComponent() {
|
|
|
121
124
|
<div className="flex flex-wrap items-center justify-between gap-3">
|
|
122
125
|
<h2 className="text-heading-18 text-foreground">Operations</h2>
|
|
123
126
|
<div className="flex items-center gap-3">
|
|
127
|
+
<Button render={<Link search={{ orgId }} to="/route-policies" />}>
|
|
128
|
+
Route policies
|
|
129
|
+
</Button>
|
|
124
130
|
<Button render={<Link search={{ orgId }} to="/routes" />}>View routes</Button>
|
|
125
131
|
<span aria-live="polite" className="text-label-12 text-foreground-secondary">
|
|
126
132
|
{refreshing && !updateComplete ? (
|
|
@@ -301,7 +307,7 @@ function PageComponent() {
|
|
|
301
307
|
<Link
|
|
302
308
|
className="truncate text-label-14 text-foreground hover:underline"
|
|
303
309
|
search={{ orgId, projectId: project.id }}
|
|
304
|
-
to="/
|
|
310
|
+
to="/route-policies"
|
|
305
311
|
>
|
|
306
312
|
{project.name}
|
|
307
313
|
</Link>
|
|
@@ -561,9 +567,18 @@ function ApiKeysCard(options: ApiKeysCard.Props) {
|
|
|
561
567
|
{keys.slice(0, 5).map((key) => (
|
|
562
568
|
<Rows.Row className="min-h-[64px] py-3" key={key.id} style={{ height: 'auto' }}>
|
|
563
569
|
<span className="flex min-w-0 flex-1 flex-col gap-1">
|
|
564
|
-
<
|
|
570
|
+
<Link
|
|
571
|
+
className="truncate text-label-14 text-foreground hover:underline"
|
|
572
|
+
search={{
|
|
573
|
+
apiKeyId: key.id,
|
|
574
|
+
environment: key.environment,
|
|
575
|
+
orgId: options.orgId,
|
|
576
|
+
projectId: key.projectId,
|
|
577
|
+
}}
|
|
578
|
+
to="/route-policies"
|
|
579
|
+
>
|
|
565
580
|
{key.name ?? key.id}
|
|
566
|
-
</
|
|
581
|
+
</Link>
|
|
567
582
|
<span className="truncate text-label-12 text-foreground-secondary">
|
|
568
583
|
{key.environment} · {key.scopes.join(', ')}
|
|
569
584
|
</span>
|