tapimo 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/App.d.ts +6396 -4575
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +39 -4
- package/dist/App.js.map +1 -1
- package/dist/Assets.d.ts +15 -0
- package/dist/Assets.d.ts.map +1 -1
- package/dist/Assets.js +7 -0
- package/dist/Assets.js.map +1 -1
- package/dist/Scope.d.ts +2 -0
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +17 -0
- package/dist/Scope.js.map +1 -1
- package/dist/admin/App.d.ts +176 -78
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +84 -4
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +54 -0
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/earn-vaults.d.ts +123 -9
- package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
- package/dist/admin/apps/earn-vaults.js +60 -7
- package/dist/admin/apps/earn-vaults.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts.map +1 -1
- package/dist/admin/apps/organizations.js +4 -2
- package/dist/admin/apps/organizations.js.map +1 -1
- package/dist/admin/apps/verified-tokens.d.ts +90 -90
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.js +71 -71
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/apps/Zones.d.ts +16 -16
- package/dist/apps/Zones.js +4 -4
- package/dist/apps/data/App.d.ts +1699 -749
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +58 -9
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/ZoneSelection.d.ts +62 -0
- package/dist/apps/data/ZoneSelection.d.ts.map +1 -0
- package/dist/apps/data/ZoneSelection.js +44 -0
- package/dist/apps/data/ZoneSelection.js.map +1 -0
- package/dist/apps/data/routes/activities.d.ts +2417 -50
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +1896 -1293
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +471 -340
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.d.ts +12 -12
- package/dist/apps/data/routes/balances.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.js +44 -17
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +42 -42
- package/dist/apps/data/routes/blocks.d.ts.map +1 -1
- package/dist/apps/data/routes/blocks.js +22 -12
- package/dist/apps/data/routes/blocks.js.map +1 -1
- package/dist/apps/data/routes/coingecko.d.ts +179 -179
- package/dist/apps/data/routes/earn.d.ts +144 -19
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +160 -28
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts +719 -13
- package/dist/apps/data/routes/exchanges.d.ts.map +1 -1
- package/dist/apps/data/routes/exchanges.js +16 -13
- package/dist/apps/data/routes/exchanges.js.map +1 -1
- package/dist/apps/data/routes/fee-amm.d.ts +2 -2
- package/dist/apps/data/routes/fee-amm.d.ts.map +1 -1
- package/dist/apps/data/routes/fee-amm.js +9 -11
- package/dist/apps/data/routes/fee-amm.js.map +1 -1
- package/dist/apps/data/routes/indexer.d.ts +34 -34
- package/dist/apps/data/routes/receipts.d.ts +363 -263
- package/dist/apps/data/routes/receipts.d.ts.map +1 -1
- package/dist/apps/data/routes/receipts.js +29 -11
- package/dist/apps/data/routes/receipts.js.map +1 -1
- package/dist/apps/data/routes/rpc.js +24 -10
- package/dist/apps/data/routes/rpc.js.map +1 -1
- package/dist/apps/data/routes/tokenlist.d.ts +13 -13
- package/dist/apps/data/routes/tokenlist.d.ts.map +1 -1
- package/dist/apps/data/routes/tokenlist.js +16 -15
- package/dist/apps/data/routes/tokenlist.js.map +1 -1
- package/dist/apps/data/routes/tokens.d.ts +112 -98
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/tokens.js +85 -35
- package/dist/apps/data/routes/tokens.js.map +1 -1
- package/dist/apps/data/routes/transactions.d.ts +7 -2
- package/dist/apps/data/routes/transactions.d.ts.map +1 -1
- package/dist/apps/data/routes/transactions.js +38 -18
- package/dist/apps/data/routes/transactions.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts +1 -1
- package/dist/apps/data/routes/transfers.d.ts.map +1 -1
- package/dist/apps/data/routes/transfers.js +25 -21
- package/dist/apps/data/routes/transfers.js.map +1 -1
- package/dist/apps/data/routes/valuation.d.ts +1 -1
- package/dist/apps/data/routes/valuation.d.ts.map +1 -1
- package/dist/apps/data/routes/valuation.js +12 -7
- package/dist/apps/data/routes/valuation.js.map +1 -1
- package/dist/apps/data/routes/verified-tokens.d.ts +3 -3
- package/dist/apps/data/routes/webhooks.d.ts +15 -15
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +2 -2
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +32 -32
- package/dist/apps/data/routes/zones.js +1 -1
- package/dist/apps/funding/App.d.ts +38 -27
- package/dist/apps/funding/App.d.ts.map +1 -1
- package/dist/apps/funding/routes/chains.d.ts.map +1 -1
- package/dist/apps/funding/routes/chains.js +5 -4
- package/dist/apps/funding/routes/chains.js.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.d.ts +16 -16
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.js +24 -19
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
- package/dist/apps/funding/routes/providers.d.ts +13 -13
- package/dist/apps/funding/routes/providers.d.ts.map +1 -1
- package/dist/apps/funding/routes/providers.js +3 -2
- package/dist/apps/funding/routes/providers.js.map +1 -1
- package/dist/apps/funding/routes/quotes.d.ts.map +1 -1
- package/dist/apps/funding/routes/quotes.js +2 -2
- package/dist/apps/funding/routes/quotes.js.map +1 -1
- package/dist/apps/funding/routes/transfers.d.ts +60 -48
- package/dist/apps/funding/routes/transfers.d.ts.map +1 -1
- package/dist/apps/funding/routes/transfers.js +27 -19
- package/dist/apps/funding/routes/transfers.js.map +1 -1
- package/dist/apps/management/App.d.ts +4558 -3700
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/Billing.d.ts.map +1 -1
- package/dist/apps/management/Billing.js +19 -6
- package/dist/apps/management/Billing.js.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +786 -175
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +312 -34
- package/dist/apps/management/routes/api-keys.js.map +1 -1
- package/dist/apps/management/routes/billing.d.ts +103 -30
- package/dist/apps/management/routes/billing.d.ts.map +1 -1
- package/dist/apps/management/routes/billing.js +91 -32
- package/dist/apps/management/routes/billing.js.map +1 -1
- package/dist/apps/management/routes/faucet.d.ts +35 -35
- package/dist/apps/management/routes/faucet.d.ts.map +1 -1
- package/dist/apps/management/routes/faucet.js +23 -12
- package/dist/apps/management/routes/faucet.js.map +1 -1
- package/dist/apps/management/routes/invitations.d.ts +46 -13
- package/dist/apps/management/routes/invitations.d.ts.map +1 -1
- package/dist/apps/management/routes/invitations.js +79 -29
- package/dist/apps/management/routes/invitations.js.map +1 -1
- package/dist/apps/management/routes/invite-links.d.ts +120 -75
- package/dist/apps/management/routes/invite-links.d.ts.map +1 -1
- package/dist/apps/management/routes/invite-links.js +100 -41
- package/dist/apps/management/routes/invite-links.js.map +1 -1
- package/dist/apps/management/routes/me.d.ts +5 -5
- package/dist/apps/management/routes/me.d.ts.map +1 -1
- package/dist/apps/management/routes/me.js +14 -10
- package/dist/apps/management/routes/me.js.map +1 -1
- package/dist/apps/management/routes/members.d.ts +99 -78
- package/dist/apps/management/routes/members.d.ts.map +1 -1
- package/dist/apps/management/routes/members.js +37 -18
- package/dist/apps/management/routes/members.js.map +1 -1
- package/dist/apps/management/routes/orgs.d.ts +48 -8
- package/dist/apps/management/routes/orgs.d.ts.map +1 -1
- package/dist/apps/management/routes/orgs.js +48 -19
- package/dist/apps/management/routes/orgs.js.map +1 -1
- package/dist/apps/management/routes/projects.d.ts +108 -46
- package/dist/apps/management/routes/projects.d.ts.map +1 -1
- package/dist/apps/management/routes/projects.js +72 -21
- 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 +8 -5
- package/dist/apps/management/routes/scopes.js.map +1 -1
- package/dist/apps/management/routes/usage.d.ts +82 -82
- package/dist/apps/management/routes/usage.d.ts.map +1 -1
- package/dist/apps/management/routes/usage.js +41 -31
- package/dist/apps/management/routes/usage.js.map +1 -1
- package/dist/apps/management/routes/verified-token-requests.d.ts +35 -7
- package/dist/apps/management/routes/verified-token-requests.d.ts.map +1 -1
- package/dist/apps/management/routes/verified-token-requests.js +36 -17
- package/dist/apps/management/routes/verified-token-requests.js.map +1 -1
- package/dist/apps/management/routes/webhooks.d.ts +200 -183
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/management/routes/webhooks.js +80 -35
- package/dist/apps/management/routes/webhooks.js.map +1 -1
- package/dist/apps/mpp/internal/Adapter.d.ts +1 -1
- package/dist/apps/mpp/internal/Adapter.d.ts.map +1 -1
- package/dist/apps/mpp/internal/Adapter.js +12 -0
- package/dist/apps/mpp/internal/Adapter.js.map +1 -1
- package/dist/db/Db.d.ts +2 -0
- package/dist/db/Db.d.ts.map +1 -1
- package/dist/db/Db.js +52 -1
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +26 -3
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +24 -5
- package/dist/db/Schema.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 +5 -0
- package/dist/db/tables/earnVaults.js.map +1 -1
- package/dist/db/tables/fundingCatalog.d.ts +4 -2
- package/dist/db/tables/fundingCatalog.d.ts.map +1 -1
- package/dist/db/tables/fundingCatalog.js +5 -1
- package/dist/db/tables/fundingCatalog.js.map +1 -1
- package/dist/db/tables/webhookDeliveries.d.ts.map +1 -1
- package/dist/db/tables/webhookDeliveries.js +10 -0
- package/dist/db/tables/webhookDeliveries.js.map +1 -1
- package/dist/db/tables/webhookQueueCompletions.d.ts +15 -0
- package/dist/db/tables/webhookQueueCompletions.d.ts.map +1 -0
- package/dist/db/tables/webhookQueueCompletions.js +32 -0
- package/dist/db/tables/webhookQueueCompletions.js.map +1 -0
- package/dist/db/tables/webhookQueueEvents.d.ts +14 -20
- package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
- package/dist/db/tables/webhookQueueEvents.js +68 -47
- package/dist/db/tables/webhookQueueEvents.js.map +1 -1
- package/dist/db/tables/webhookSubscriptions.d.ts +16 -5
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +29 -5
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/handlers/internal/utils.d.ts.map +1 -1
- package/dist/handlers/internal/utils.js +9 -0
- package/dist/handlers/internal/utils.js.map +1 -1
- package/dist/internal/Auth.d.ts +11 -2
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +19 -6
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/Cache.d.ts.map +1 -1
- package/dist/internal/Cache.js +11 -7
- package/dist/internal/Cache.js.map +1 -1
- package/dist/internal/EarnVaults.d.ts +43 -4
- package/dist/internal/EarnVaults.d.ts.map +1 -1
- package/dist/internal/EarnVaults.js +167 -0
- package/dist/internal/EarnVaults.js.map +1 -1
- package/dist/internal/Fetch.d.ts +23 -0
- package/dist/internal/Fetch.d.ts.map +1 -0
- package/dist/internal/Fetch.js +26 -0
- package/dist/internal/Fetch.js.map +1 -0
- package/dist/internal/Log.d.ts +3 -1
- package/dist/internal/Log.d.ts.map +1 -1
- package/dist/internal/Log.js +16 -3
- package/dist/internal/Log.js.map +1 -1
- package/dist/internal/OpenApi.d.ts +30 -24
- package/dist/internal/OpenApi.d.ts.map +1 -1
- package/dist/internal/OpenApi.js +140 -41
- package/dist/internal/OpenApi.js.map +1 -1
- package/dist/internal/Response.d.ts +14 -9
- package/dist/internal/Response.d.ts.map +1 -1
- package/dist/internal/Response.js +16 -5
- package/dist/internal/Response.js.map +1 -1
- package/dist/internal/Schema.d.ts +11 -10
- package/dist/internal/Schema.d.ts.map +1 -1
- package/dist/internal/Schema.js +14 -9
- package/dist/internal/Schema.js.map +1 -1
- package/dist/internal/Store.d.ts +28 -6
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +121 -25
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/Tidx.d.ts +2 -0
- package/dist/internal/Tidx.d.ts.map +1 -1
- package/dist/internal/Tidx.js +23 -6
- package/dist/internal/Tidx.js.map +1 -1
- package/dist/internal/Timeout.d.ts +36 -0
- package/dist/internal/Timeout.d.ts.map +1 -0
- package/dist/internal/Timeout.js +37 -0
- package/dist/internal/Timeout.js.map +1 -0
- package/dist/internal/Timing.d.ts +9 -0
- package/dist/internal/Timing.d.ts.map +1 -1
- package/dist/internal/Timing.js +7 -0
- package/dist/internal/Timing.js.map +1 -1
- package/dist/internal/WebhookDestination.d.ts.map +1 -1
- package/dist/internal/WebhookDestination.js +3 -0
- package/dist/internal/WebhookDestination.js.map +1 -1
- package/dist/internal/Webhooks.d.ts +29 -12
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +37 -20
- package/dist/internal/Webhooks.js.map +1 -1
- package/dist/internal/funding/Action.d.ts +9 -0
- package/dist/internal/funding/Action.d.ts.map +1 -1
- package/dist/internal/funding/Action.js +16 -8
- package/dist/internal/funding/Action.js.map +1 -1
- package/dist/internal/funding/Catalog.d.ts +9 -2
- package/dist/internal/funding/Catalog.d.ts.map +1 -1
- package/dist/internal/funding/Catalog.js +19 -8
- package/dist/internal/funding/Catalog.js.map +1 -1
- package/dist/internal/funding/Deposit.d.ts +2 -2
- package/dist/internal/funding/Deposit.d.ts.map +1 -1
- package/dist/internal/funding/Deposit.js +9 -8
- package/dist/internal/funding/Deposit.js.map +1 -1
- package/dist/internal/funding/DepositAddress.d.ts +4 -4
- package/dist/internal/funding/DepositAddress.d.ts.map +1 -1
- package/dist/internal/funding/DepositAddress.js +9 -8
- package/dist/internal/funding/DepositAddress.js.map +1 -1
- package/dist/internal/funding/Provider.d.ts +68 -13
- package/dist/internal/funding/Provider.d.ts.map +1 -1
- package/dist/internal/funding/Provider.js +42 -20
- package/dist/internal/funding/Provider.js.map +1 -1
- package/dist/internal/funding/Transfer.d.ts +13 -12
- package/dist/internal/funding/Transfer.d.ts.map +1 -1
- package/dist/internal/funding/Transfer.js +23 -21
- package/dist/internal/funding/Transfer.js.map +1 -1
- package/dist/internal/funding/providers/stargate.d.ts +38 -0
- package/dist/internal/funding/providers/stargate.d.ts.map +1 -0
- package/dist/internal/funding/providers/stargate.js +277 -0
- package/dist/internal/funding/providers/stargate.js.map +1 -0
- package/dist/internal/index.d.ts +1 -0
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/index.js +1 -0
- package/dist/internal/index.js.map +1 -1
- package/dist/providers/index.d.ts +7 -0
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +3 -0
- package/dist/providers/index.js.map +1 -1
- package/package.json +3 -3
- package/src/App.test.ts +148 -0
- package/src/App.ts +45 -4
- package/src/Assets.test.ts +18 -0
- package/src/Assets.ts +22 -0
- package/src/Client.test-d.ts +311 -16
- package/src/Scope.test.ts +20 -0
- package/src/Scope.ts +16 -0
- package/src/admin/apps/api-keys.test.ts +75 -0
- package/src/admin/apps/api-keys.ts +64 -0
- package/src/admin/apps/earn-vaults.test.ts +143 -0
- package/src/admin/apps/earn-vaults.ts +84 -7
- package/src/admin/apps/organizations.ts +6 -2
- package/src/admin/ui/src/lib/api-keys.ts +19 -0
- package/src/admin/ui/src/routes/api-keys.tsx +125 -2
- package/src/admin/ui.generated.ts +71 -71
- package/src/apps/Zones.test.ts +4 -4
- package/src/apps/Zones.ts +4 -4
- package/src/apps/composition.test.ts +1 -1
- package/src/apps/data/App.test.ts +72 -0
- package/src/apps/data/App.ts +58 -10
- package/src/apps/data/ZoneSelection.test.ts +196 -0
- package/src/apps/data/ZoneSelection.ts +108 -0
- package/src/apps/data/routes/activities.test.ts +1843 -2
- package/src/apps/data/routes/activities.ts +2211 -1388
- package/src/apps/data/routes/balances.ts +134 -98
- package/src/apps/data/routes/blocks.test.ts +533 -0
- package/src/apps/data/routes/blocks.ts +36 -17
- package/src/apps/data/routes/earn.test.ts +187 -25
- package/src/apps/data/routes/earn.ts +228 -32
- package/src/apps/data/routes/earn.zone-access.test.ts +46 -0
- package/src/apps/data/routes/exchanges.test.ts +31 -1
- package/src/apps/data/routes/exchanges.ts +19 -15
- package/src/apps/data/routes/fee-amm.ts +18 -11
- package/src/apps/data/routes/receipts.ts +48 -17
- package/src/apps/data/routes/rpc.test.ts +75 -0
- package/src/apps/data/routes/rpc.ts +23 -9
- package/src/apps/data/routes/tokenlist.ts +21 -18
- package/src/apps/data/routes/tokens.test.ts +607 -0
- package/src/apps/data/routes/tokens.ts +312 -231
- package/src/apps/data/routes/transactions.ts +69 -30
- package/src/apps/data/routes/transfers.test.ts +424 -3
- package/src/apps/data/routes/transfers.ts +57 -36
- package/src/apps/data/routes/valuation.ts +94 -78
- package/src/apps/data/routes/webhooks.ts +6 -2
- package/src/apps/data/routes/zones.test.ts +21 -15
- package/src/apps/data/routes/zones.ts +1 -1
- package/src/apps/funding/routes/chains.test.ts +211 -7
- package/src/apps/funding/routes/chains.ts +19 -12
- package/src/apps/funding/routes/deposit-addresses.test.ts +416 -0
- package/src/apps/funding/routes/deposit-addresses.ts +101 -84
- package/src/apps/funding/routes/providers.ts +9 -5
- package/src/apps/funding/routes/quotes.test.ts +42 -0
- package/src/apps/funding/routes/quotes.ts +8 -5
- package/src/apps/funding/routes/transfers.test.ts +430 -40
- package/src/apps/funding/routes/transfers.ts +76 -59
- package/src/apps/management/Billing.test.ts +26 -0
- package/src/apps/management/Billing.ts +24 -7
- package/src/apps/management/routes/api-keys.test.ts +398 -0
- package/src/apps/management/routes/api-keys.ts +481 -145
- package/src/apps/management/routes/billing.test.ts +209 -0
- package/src/apps/management/routes/billing.ts +254 -177
- package/src/apps/management/routes/faucet.test.ts +39 -0
- package/src/apps/management/routes/faucet.ts +75 -41
- package/src/apps/management/routes/invitations.test.ts +216 -0
- package/src/apps/management/routes/invitations.ts +186 -109
- package/src/apps/management/routes/invite-links.test.ts +263 -1
- package/src/apps/management/routes/invite-links.ts +295 -214
- package/src/apps/management/routes/me.test.ts +49 -0
- package/src/apps/management/routes/me.ts +42 -32
- package/src/apps/management/routes/members.test.ts +124 -1
- package/src/apps/management/routes/members.ts +81 -51
- package/src/apps/management/routes/orgs.test.ts +176 -0
- package/src/apps/management/routes/orgs.ts +101 -59
- package/src/apps/management/routes/projects.test.ts +183 -0
- package/src/apps/management/routes/projects.ts +124 -60
- package/src/apps/management/routes/scopes.test.ts +44 -0
- package/src/apps/management/routes/scopes.ts +37 -28
- package/src/apps/management/routes/usage.test.ts +92 -0
- package/src/apps/management/routes/usage.ts +186 -151
- package/src/apps/management/routes/verified-token-requests.test.ts +114 -0
- package/src/apps/management/routes/verified-token-requests.ts +166 -133
- package/src/apps/management/routes/webhooks.test.ts +234 -0
- package/src/apps/management/routes/webhooks.ts +191 -78
- package/src/apps/mpp/internal/Adapter.ts +13 -1
- package/src/db/Db.test.ts +41 -0
- package/src/db/Db.ts +75 -1
- package/src/db/Schema.ts +33 -5
- package/src/db/tables/earnVaults.test.ts +22 -0
- package/src/db/tables/earnVaults.ts +11 -1
- package/src/db/tables/fundingCatalog.test.ts +16 -2
- package/src/db/tables/fundingCatalog.ts +9 -3
- package/src/db/tables/webhookDeliveries.ts +13 -0
- package/src/db/tables/webhookQueueCompletions.ts +55 -0
- package/src/db/tables/webhookQueueEvents.ts +95 -61
- package/src/db/tables/webhookSubscriptions.ts +45 -6
- package/src/handlers/internal/utils.test.ts +53 -0
- package/src/handlers/internal/utils.ts +15 -0
- package/src/internal/Auth.ts +35 -9
- package/src/internal/Cache.ts +14 -7
- package/src/internal/EarnVaults.capabilities.test.ts +33 -0
- package/src/internal/EarnVaults.test.ts +79 -0
- package/src/internal/EarnVaults.ts +277 -0
- package/src/internal/Fetch.test.ts +46 -0
- package/src/internal/Fetch.ts +56 -0
- package/src/internal/Log.test.ts +21 -0
- package/src/internal/Log.ts +20 -5
- package/src/internal/OpenApi.ts +177 -51
- package/src/internal/Response.test.ts +95 -0
- package/src/internal/Response.ts +41 -3
- package/src/internal/Schema.test.ts +18 -0
- package/src/internal/Schema.ts +19 -9
- package/src/internal/Store.test.ts +364 -0
- package/src/internal/Store.ts +153 -27
- package/src/internal/Tidx.test.ts +21 -1
- package/src/internal/Tidx.ts +23 -6
- package/src/internal/Timeout.test.ts +35 -0
- package/src/internal/Timeout.ts +73 -0
- package/src/internal/Timing.ts +16 -0
- package/src/internal/WebhookDestination.ts +3 -0
- package/src/internal/Webhooks.test.ts +122 -8
- package/src/internal/Webhooks.ts +59 -29
- package/src/internal/funding/Action.test.ts +41 -1
- package/src/internal/funding/Action.ts +69 -41
- package/src/internal/funding/Catalog.test.ts +34 -0
- package/src/internal/funding/Catalog.ts +28 -11
- package/src/internal/funding/Deposit.ts +71 -64
- package/src/internal/funding/DepositAddress.ts +50 -43
- package/src/internal/funding/Provider.test.ts +73 -0
- package/src/internal/funding/Provider.ts +246 -170
- package/src/internal/funding/Transfer.ts +133 -110
- package/src/internal/funding/providers/index.test.ts +22 -0
- package/src/internal/funding/providers/relay.test.ts +2 -2
- package/src/internal/funding/providers/stargate.test.ts +163 -0
- package/src/internal/funding/providers/stargate.ts +409 -0
- package/src/internal/index.test.ts +1 -0
- package/src/internal/index.ts +1 -0
- package/src/providers/index.test.ts +1 -0
- package/src/providers/index.ts +9 -0
|
@@ -62,32 +62,39 @@ export namespace schema {
|
|
|
62
62
|
*/
|
|
63
63
|
export const PoolToken = Schema.describe(
|
|
64
64
|
z.object({
|
|
65
|
-
address: Schema.
|
|
65
|
+
address: Schema.tokenAddress(Tokens.tokenExample.address).check(
|
|
66
66
|
z.describe('TIP-20 token contract address used by this fee pool.'),
|
|
67
67
|
),
|
|
68
68
|
currency: z
|
|
69
69
|
.optional(z.string())
|
|
70
70
|
.check(
|
|
71
71
|
z.describe('Display currency for the token, when available.'),
|
|
72
|
-
z.meta({ examples: [
|
|
72
|
+
z.meta({ examples: [Tokens.tokenExample.currency] }),
|
|
73
73
|
),
|
|
74
74
|
decimals: z
|
|
75
75
|
.optional(z.number().check(z.int(), z.nonnegative()))
|
|
76
|
-
.check(
|
|
76
|
+
.check(
|
|
77
|
+
z.describe('Number of decimal places the token uses.'),
|
|
78
|
+
z.meta({ examples: [Tokens.tokenExample.decimals] }),
|
|
79
|
+
),
|
|
77
80
|
logoUri: z.optional(z.string()).check(
|
|
78
|
-
z.describe('URL for the token logo
|
|
81
|
+
z.describe('URL for the token logo image, when available.'),
|
|
79
82
|
z.meta({
|
|
80
|
-
examples: [
|
|
81
|
-
'https://api.tempo.xyz/data/4217/icons/0x20c0000000000000000000008f5425160ebe5525.svg',
|
|
82
|
-
],
|
|
83
|
+
examples: [Tokens.tokenExample.logoUri],
|
|
83
84
|
}),
|
|
84
85
|
),
|
|
85
86
|
name: z
|
|
86
87
|
.optional(z.string())
|
|
87
|
-
.check(
|
|
88
|
+
.check(
|
|
89
|
+
z.describe('Human-readable token name.'),
|
|
90
|
+
z.meta({ examples: [Tokens.tokenExample.name] }),
|
|
91
|
+
),
|
|
88
92
|
symbol: z
|
|
89
93
|
.optional(z.string())
|
|
90
|
-
.check(
|
|
94
|
+
.check(
|
|
95
|
+
z.describe('Short token ticker symbol.'),
|
|
96
|
+
z.meta({ examples: [Tokens.tokenExample.symbol] }),
|
|
97
|
+
),
|
|
91
98
|
verified: z
|
|
92
99
|
.optional(z.boolean())
|
|
93
100
|
.check(
|
|
@@ -403,7 +410,7 @@ export function feeAmm() {
|
|
|
403
410
|
200,
|
|
404
411
|
)
|
|
405
412
|
} catch (cause) {
|
|
406
|
-
return Response.upstream(c, cause)
|
|
413
|
+
return Response.upstream(c, cause, { page: query.page })
|
|
407
414
|
}
|
|
408
415
|
},
|
|
409
416
|
)
|
|
@@ -498,7 +505,7 @@ export function feeAmm() {
|
|
|
498
505
|
200,
|
|
499
506
|
)
|
|
500
507
|
} catch (cause) {
|
|
501
|
-
return Response.upstream(c, cause)
|
|
508
|
+
return Response.upstream(c, cause, { page: query.page })
|
|
502
509
|
}
|
|
503
510
|
},
|
|
504
511
|
)
|
|
@@ -85,6 +85,8 @@ export namespace schema {
|
|
|
85
85
|
})
|
|
86
86
|
.check(z.describe('One event log emitted by a contract during transaction execution.'))
|
|
87
87
|
|
|
88
|
+
const rpcLog = OpenApi.component(Log, 'RpcTransactionLog')
|
|
89
|
+
|
|
88
90
|
/** The verbatim JSON-RPC payloads, surfaced under each resource's `rpc` field. */
|
|
89
91
|
export namespace Rpc {
|
|
90
92
|
// TODO(ox/zod): replace with the zod schema for `ox/tempo`'s
|
|
@@ -145,7 +147,7 @@ export namespace schema {
|
|
|
145
147
|
),
|
|
146
148
|
gasUsed: Schema.Quantity.check(z.describe('Gas actually used to execute the transaction.')),
|
|
147
149
|
logs: z
|
|
148
|
-
.array(
|
|
150
|
+
.array(rpcLog)
|
|
149
151
|
.check(z.describe('Event logs emitted by contracts while this transaction executed.')),
|
|
150
152
|
logsBloom: z
|
|
151
153
|
.optional(Schema.Hex)
|
|
@@ -186,6 +188,8 @@ export namespace schema {
|
|
|
186
188
|
.check(z.describe('The transaction receipt exactly as returned by JSON-RPC.'))
|
|
187
189
|
}
|
|
188
190
|
|
|
191
|
+
const rpcReceipt = OpenApi.component(Rpc.Receipt, 'RpcTransactionReceipt')
|
|
192
|
+
|
|
189
193
|
/** Receipt metadata containing valuation provenance and the verbatim JSON-RPC receipt. */
|
|
190
194
|
export const ReceiptMeta = z
|
|
191
195
|
.object({
|
|
@@ -196,10 +200,12 @@ export namespace schema {
|
|
|
196
200
|
'Rate provenance for the fee valuation. Present when conversion rates were consulted.',
|
|
197
201
|
),
|
|
198
202
|
),
|
|
199
|
-
rpc:
|
|
203
|
+
rpc: rpcReceipt.check(z.describe('The original JSON-RPC receipt payload.')),
|
|
200
204
|
})
|
|
201
205
|
.check(z.describe('Metadata for this receipt, including valuation and the JSON-RPC payload.'))
|
|
202
206
|
|
|
207
|
+
const receiptMeta = OpenApi.component(ReceiptMeta, 'TransactionReceiptMeta')
|
|
208
|
+
|
|
203
209
|
/** The fee charged to the fee payer, carrying its value in the requested denomination. */
|
|
204
210
|
export const FeeAmount = z
|
|
205
211
|
.extend(Schema.TokenAmount, {
|
|
@@ -215,6 +221,8 @@ export namespace schema {
|
|
|
215
221
|
z.describe('The fee charged to the fee payer, with its value in the requested denomination.'),
|
|
216
222
|
)
|
|
217
223
|
|
|
224
|
+
const receiptFeeAmount = OpenApi.component(FeeAmount, 'TransactionReceiptFeeAmount')
|
|
225
|
+
|
|
218
226
|
/**
|
|
219
227
|
* A humanized transaction receipt: decoded `status`/`type`, plain-number gas
|
|
220
228
|
* and block fields, a structured fee amount, and a decimal-string gas price.
|
|
@@ -255,7 +263,9 @@ export namespace schema {
|
|
|
255
263
|
effectiveGasPrice: Schema.DecimalString.check(
|
|
256
264
|
z.describe('Effective gas price paid for this transaction, in attodollars per gas.'),
|
|
257
265
|
),
|
|
258
|
-
feeAmount:
|
|
266
|
+
feeAmount: receiptFeeAmount.check(
|
|
267
|
+
z.describe('Fee charged to the fee payer, denominated in USD.'),
|
|
268
|
+
),
|
|
259
269
|
feePayer: z
|
|
260
270
|
.optional(Schema.Address)
|
|
261
271
|
.check(z.describe('The address that paid the transaction fee.')),
|
|
@@ -278,11 +288,11 @@ export namespace schema {
|
|
|
278
288
|
z.describe('Stable resource ID for this API response; it is the transaction hash.'),
|
|
279
289
|
),
|
|
280
290
|
logs: z
|
|
281
|
-
.array(
|
|
291
|
+
.array(rpcLog)
|
|
282
292
|
.check(
|
|
283
293
|
z.describe('Event logs emitted by this transaction, returned in JSON-RPC log format.'),
|
|
284
294
|
),
|
|
285
|
-
meta:
|
|
295
|
+
meta: receiptMeta.check(
|
|
286
296
|
z.describe(
|
|
287
297
|
'Receipt metadata containing valuation rate provenance and the JSON-RPC payload.',
|
|
288
298
|
),
|
|
@@ -330,6 +340,9 @@ export namespace schema {
|
|
|
330
340
|
),
|
|
331
341
|
)
|
|
332
342
|
|
|
343
|
+
/** Humanized transaction receipt shared by detail, list, and transaction includes. */
|
|
344
|
+
export const TransactionReceipt = OpenApi.component(Receipt, 'TransactionReceipt')
|
|
345
|
+
|
|
333
346
|
/** Schemas for the getReceipt operation. */
|
|
334
347
|
export namespace getReceipt {
|
|
335
348
|
/** Path parameters for receipt requests. */
|
|
@@ -368,7 +381,7 @@ export namespace schema {
|
|
|
368
381
|
.check(z.describe('Query parameters for looking up a receipt.'))
|
|
369
382
|
|
|
370
383
|
/** A humanized receipt, with the verbatim JSON-RPC payload under `meta.rpc`. */
|
|
371
|
-
export const Response =
|
|
384
|
+
export const Response = TransactionReceipt
|
|
372
385
|
}
|
|
373
386
|
|
|
374
387
|
/** Schemas for the getReceipts (list) operation. */
|
|
@@ -453,15 +466,22 @@ export namespace schema {
|
|
|
453
466
|
})
|
|
454
467
|
.check(z.describe('Page-level resources attached to this response.'))
|
|
455
468
|
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
.check(z.describe('
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
469
|
+
const meta = OpenApi.component(Meta, 'TransactionReceiptListMeta')
|
|
470
|
+
|
|
471
|
+
export const Response = OpenApi.component(
|
|
472
|
+
z
|
|
473
|
+
.object({
|
|
474
|
+
data: z.array(getReceipt.Response).check(z.describe('Receipts on this page.')),
|
|
475
|
+
meta: z
|
|
476
|
+
.optional(meta)
|
|
477
|
+
.check(
|
|
478
|
+
z.describe('Page-level resources: opt-in counts and valuation rate provenance.'),
|
|
479
|
+
),
|
|
480
|
+
nextCursor: Schema.NextCursor,
|
|
481
|
+
})
|
|
482
|
+
.check(z.describe('A page of receipts ordered by block number and transaction position.')),
|
|
483
|
+
'TransactionReceiptList',
|
|
484
|
+
)
|
|
465
485
|
}
|
|
466
486
|
}
|
|
467
487
|
|
|
@@ -481,7 +501,10 @@ export function receipts(options: receipts.Options = {}) {
|
|
|
481
501
|
'List transaction receipts across Tempo, with filters for addresses, blocks, timestamps, fees, and status.',
|
|
482
502
|
operationId: 'getReceipts',
|
|
483
503
|
responses: OpenApi.responses({
|
|
484
|
-
errors: {
|
|
504
|
+
errors: {
|
|
505
|
+
400: { codes: ['chain_id_invalid', 'chain_id_unsupported', 'query_invalid'] },
|
|
506
|
+
502: 'Could not read receipt or token data from an upstream service.',
|
|
507
|
+
},
|
|
485
508
|
success: {
|
|
486
509
|
description: 'A page of transaction receipts.',
|
|
487
510
|
schema: schema.getReceipts.Response,
|
|
@@ -594,7 +617,7 @@ export function receipts(options: receipts.Options = {}) {
|
|
|
594
617
|
} catch (cause) {
|
|
595
618
|
if (cause instanceof Valuation.UnsupportedDenominationError)
|
|
596
619
|
return Response.error(c, { code: 'query_invalid', message: cause.message, status: 400 })
|
|
597
|
-
return Response.upstream(c, cause)
|
|
620
|
+
return Response.upstream(c, cause, { page: query.page })
|
|
598
621
|
}
|
|
599
622
|
},
|
|
600
623
|
)
|
|
@@ -614,6 +637,14 @@ export function receipts(options: receipts.Options = {}) {
|
|
|
614
637
|
operationId: 'getReceipt',
|
|
615
638
|
responses: OpenApi.responses({
|
|
616
639
|
errors: {
|
|
640
|
+
400: {
|
|
641
|
+
codes: [
|
|
642
|
+
'chain_id_invalid',
|
|
643
|
+
'chain_id_unsupported',
|
|
644
|
+
'query_invalid',
|
|
645
|
+
'transaction_invalid',
|
|
646
|
+
],
|
|
647
|
+
},
|
|
617
648
|
404: {
|
|
618
649
|
description: 'No receipt was found for that transaction hash.',
|
|
619
650
|
codes: ['receipt_not_found'],
|
|
@@ -286,6 +286,81 @@ describe('POST /rpc', () => {
|
|
|
286
286
|
},
|
|
287
287
|
)
|
|
288
288
|
|
|
289
|
+
test('keeps RPC method-filter responses out of upstream alerts', async () => {
|
|
290
|
+
const entries: Log.Entry[] = []
|
|
291
|
+
const body = {
|
|
292
|
+
error: { code: -32_601, message: 'method not allowed: tempo_sponsor' },
|
|
293
|
+
id: null,
|
|
294
|
+
jsonrpc: '2.0',
|
|
295
|
+
}
|
|
296
|
+
const server = await Relay.createServer(
|
|
297
|
+
RequestListener.fromFetchHandler(() => Response.json(body, { status: 403 })),
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
try {
|
|
301
|
+
const app = TestApp.create({
|
|
302
|
+
auth: false,
|
|
303
|
+
logger: (entry) => void entries.push(entry),
|
|
304
|
+
rpc: { url: server.url },
|
|
305
|
+
})
|
|
306
|
+
const response = await app.fetch(
|
|
307
|
+
new Request('http://tempo-api.test/rpc', {
|
|
308
|
+
body: JSON.stringify({ id: 1, jsonrpc: '2.0', method: 'tempo_sponsor' }),
|
|
309
|
+
method: 'POST',
|
|
310
|
+
}),
|
|
311
|
+
)
|
|
312
|
+
|
|
313
|
+
expect(response.status).toBe(403)
|
|
314
|
+
expect(await response.json()).toEqual(body)
|
|
315
|
+
expect(entries[0]?.provider).toBeUndefined()
|
|
316
|
+
} finally {
|
|
317
|
+
await server.closeAsync()
|
|
318
|
+
}
|
|
319
|
+
})
|
|
320
|
+
|
|
321
|
+
test('attributes RPC authorization responses to the upstream', async () => {
|
|
322
|
+
const entries: Log.Entry[] = []
|
|
323
|
+
const server = await Relay.createServer(
|
|
324
|
+
RequestListener.fromFetchHandler(() =>
|
|
325
|
+
Response.json(
|
|
326
|
+
{
|
|
327
|
+
error: { code: -32_001, message: 'unauthorized: invalid credentials' },
|
|
328
|
+
id: null,
|
|
329
|
+
jsonrpc: '2.0',
|
|
330
|
+
},
|
|
331
|
+
{ status: 403 },
|
|
332
|
+
),
|
|
333
|
+
),
|
|
334
|
+
)
|
|
335
|
+
|
|
336
|
+
try {
|
|
337
|
+
const app = TestApp.create({
|
|
338
|
+
auth: false,
|
|
339
|
+
logger: (entry) => void entries.push(entry),
|
|
340
|
+
rpc: { url: server.url },
|
|
341
|
+
})
|
|
342
|
+
const response = await app.fetch(
|
|
343
|
+
new Request('http://tempo-api.test/rpc', {
|
|
344
|
+
body: JSON.stringify({ id: 1, jsonrpc: '2.0', method: 'eth_chainId' }),
|
|
345
|
+
method: 'POST',
|
|
346
|
+
}),
|
|
347
|
+
)
|
|
348
|
+
|
|
349
|
+
expect(response.status).toBe(403)
|
|
350
|
+
expect(entries[0]).toMatchObject({
|
|
351
|
+
provider: {
|
|
352
|
+
chainId: runtime.chainId,
|
|
353
|
+
failure: 'http',
|
|
354
|
+
id: 'rpc',
|
|
355
|
+
operation: 'request',
|
|
356
|
+
status: 403,
|
|
357
|
+
},
|
|
358
|
+
})
|
|
359
|
+
} finally {
|
|
360
|
+
await server.closeAsync()
|
|
361
|
+
}
|
|
362
|
+
})
|
|
363
|
+
|
|
289
364
|
test('attributes RPC transport failures to the upstream', async () => {
|
|
290
365
|
const entries: Log.Entry[] = []
|
|
291
366
|
const server = await Relay.createServer(
|
|
@@ -411,14 +411,14 @@ async function passthrough(
|
|
|
411
411
|
|
|
412
412
|
try {
|
|
413
413
|
const response = await fetch(new Request(upstream, init))
|
|
414
|
-
|
|
414
|
+
// Malformed requests and public Zone authentication failures are caused
|
|
415
|
+
// by caller input, not by the RPC provider.
|
|
416
|
+
if (!response.ok && !(await isCallerRpcFailure(response, usePublicZoneUrl)))
|
|
417
|
+
c.set('providerFailure', rpcProviderFailure(response, alertChainId))
|
|
415
418
|
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
if (!isCallerRpcFailure(response.status, usePublicZoneUrl))
|
|
420
|
-
c.set('providerFailure', rpcProviderFailure(response, alertChainId))
|
|
421
|
-
} else if (response.status === 200) {
|
|
419
|
+
// `Response.clone()` replaces the body stream, so capture it after classifying errors.
|
|
420
|
+
let body = response.body
|
|
421
|
+
if (response.status === 200) {
|
|
422
422
|
const inspection = await inspectRpcResponse(response)
|
|
423
423
|
body = inspection.body
|
|
424
424
|
if (inspection.result?.ok === false && !(inspection.result.empty && options.notificationOnly))
|
|
@@ -455,14 +455,28 @@ async function passthrough(
|
|
|
455
455
|
}
|
|
456
456
|
}
|
|
457
457
|
|
|
458
|
-
function isCallerRpcFailure(
|
|
459
|
-
|
|
458
|
+
async function isCallerRpcFailure(response: globalThis.Response, usePublicZoneUrl: boolean) {
|
|
459
|
+
const { status } = response
|
|
460
|
+
if (
|
|
460
461
|
status === 400 ||
|
|
461
462
|
status === 413 ||
|
|
462
463
|
status === 415 ||
|
|
463
464
|
status === 422 ||
|
|
464
465
|
(usePublicZoneUrl && (status === 401 || status === 403))
|
|
465
466
|
)
|
|
467
|
+
return true
|
|
468
|
+
if (status !== 403) return false
|
|
469
|
+
|
|
470
|
+
// Orchestra returns HTTP 403 with JSON-RPC -32601 when its method filter
|
|
471
|
+
// rejects caller input. Other 403s, including RPC auth failures, stay upstream failures.
|
|
472
|
+
const body = await response
|
|
473
|
+
.clone()
|
|
474
|
+
.json()
|
|
475
|
+
.catch(() => undefined)
|
|
476
|
+
const parsed = schema.ResponseBody.safeParse(body)
|
|
477
|
+
if (!parsed.success) return false
|
|
478
|
+
const responses = Array.isArray(parsed.data) ? parsed.data : [parsed.data]
|
|
479
|
+
return responses.every((response) => response.error?.code === -32_601)
|
|
466
480
|
}
|
|
467
481
|
|
|
468
482
|
declare namespace passthrough {
|
|
@@ -11,7 +11,7 @@ import * as Schema from '../../../internal/Schema.js'
|
|
|
11
11
|
import * as Timing from '../../../internal/Timing.js'
|
|
12
12
|
import * as VerifiedTokens from '../../../internal/VerifiedTokens.js'
|
|
13
13
|
import * as Viem from '../../../internal/Viem.js'
|
|
14
|
-
import
|
|
14
|
+
import * as Tokens from './tokens.js'
|
|
15
15
|
|
|
16
16
|
/** Zod schemas owned by the tokenlist resource. */
|
|
17
17
|
export namespace schema {
|
|
@@ -26,15 +26,20 @@ export namespace schema {
|
|
|
26
26
|
z.describe('The Tempo chain ID where this token lives.'),
|
|
27
27
|
z.meta({ examples: [4217] }),
|
|
28
28
|
),
|
|
29
|
-
address: Schema.
|
|
29
|
+
address: Schema.tokenAddress(Tokens.tokenExample.address).check(
|
|
30
|
+
z.describe('The TIP-20 token contract address on Tempo.'),
|
|
31
|
+
),
|
|
30
32
|
name: z
|
|
31
33
|
.string()
|
|
32
|
-
.check(
|
|
34
|
+
.check(
|
|
35
|
+
z.describe('The token’s human-readable name.'),
|
|
36
|
+
z.meta({ examples: [Tokens.tokenExample.name] }),
|
|
37
|
+
),
|
|
33
38
|
symbol: z
|
|
34
39
|
.string()
|
|
35
40
|
.check(
|
|
36
41
|
z.describe('The short ticker symbol wallets and apps show for this token.'),
|
|
37
|
-
z.meta({ examples: [
|
|
42
|
+
z.meta({ examples: [Tokens.tokenExample.symbol] }),
|
|
38
43
|
),
|
|
39
44
|
decimals: z
|
|
40
45
|
.number()
|
|
@@ -45,14 +50,12 @@ export namespace schema {
|
|
|
45
50
|
z.describe(
|
|
46
51
|
'The number of decimal places the token uses; Tempo stablecoins typically use 6.',
|
|
47
52
|
),
|
|
48
|
-
z.meta({ examples: [
|
|
53
|
+
z.meta({ examples: [Tokens.tokenExample.decimals] }),
|
|
49
54
|
),
|
|
50
55
|
logoURI: z.optional(z.string()).check(
|
|
51
56
|
z.describe('The curated HTTPS URL for this token’s logo image, when one is set.'),
|
|
52
57
|
z.meta({
|
|
53
|
-
examples: [
|
|
54
|
-
'https://api.tempo.xyz/data/4217/icons/0x20c0000000000000000000008f5425160ebe5525.svg',
|
|
55
|
-
],
|
|
58
|
+
examples: [Tokens.tokenExample.logoUri],
|
|
56
59
|
}),
|
|
57
60
|
),
|
|
58
61
|
})
|
|
@@ -145,13 +148,12 @@ export function tokenlist() {
|
|
|
145
148
|
version: { major: 1, minor: 0, patch: 2 },
|
|
146
149
|
tokens: [
|
|
147
150
|
{
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
'https://api.tempo.xyz/assets/4217/tokens/0x20c0000000000000000000000000000000000000/logo',
|
|
151
|
+
address: Tokens.tokenExample.address,
|
|
152
|
+
chainId: Tokens.tokenExampleChainId,
|
|
153
|
+
decimals: Tokens.tokenExample.decimals,
|
|
154
|
+
logoURI: Tokens.tokenExample.logoUri,
|
|
155
|
+
name: Tokens.tokenExample.name,
|
|
156
|
+
symbol: Tokens.tokenExample.symbol,
|
|
155
157
|
},
|
|
156
158
|
],
|
|
157
159
|
},
|
|
@@ -239,9 +241,10 @@ async function getTokenLogos(
|
|
|
239
241
|
async (token) =>
|
|
240
242
|
[
|
|
241
243
|
token.address,
|
|
242
|
-
await getTokenLogo(c, {
|
|
243
|
-
|
|
244
|
-
|
|
244
|
+
await Tokens.getTokenLogo(c, {
|
|
245
|
+
address: token.address,
|
|
246
|
+
chainId: options.chainId,
|
|
247
|
+
}).catch(() => undefined),
|
|
245
248
|
] as const,
|
|
246
249
|
),
|
|
247
250
|
)
|