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
|
@@ -69,14 +69,16 @@ export namespace schema {
|
|
|
69
69
|
/** A transfer token reference with RPC metadata. Inlined to avoid the `transfers`/`tokens` module cycle. */
|
|
70
70
|
export const SourceToken = z
|
|
71
71
|
.object({
|
|
72
|
-
address: Schema.
|
|
72
|
+
address: Schema.tokenAddress(Tokens.tokenExample.address).check(
|
|
73
|
+
z.describe('The TIP-20 token contract address on Tempo.'),
|
|
74
|
+
),
|
|
73
75
|
currency: z
|
|
74
76
|
.string()
|
|
75
77
|
.check(
|
|
76
78
|
z.describe(
|
|
77
79
|
'The currency label for this token, such as `USD` for USD-denominated stablecoins.',
|
|
78
80
|
),
|
|
79
|
-
z.meta({ examples: [
|
|
81
|
+
z.meta({ examples: [Tokens.tokenExample.currency] }),
|
|
80
82
|
),
|
|
81
83
|
decimals: z
|
|
82
84
|
.number()
|
|
@@ -85,24 +87,25 @@ export namespace schema {
|
|
|
85
87
|
z.describe(
|
|
86
88
|
'The number of decimal places the token uses; Tempo stablecoins typically use 6.',
|
|
87
89
|
),
|
|
88
|
-
z.meta({ examples: [
|
|
90
|
+
z.meta({ examples: [Tokens.tokenExample.decimals] }),
|
|
89
91
|
),
|
|
90
92
|
logoUri: z.optional(z.string()).check(
|
|
91
93
|
z.describe('A URL for the token’s logo image, returned with `include=token.logoUri`.'),
|
|
92
94
|
z.meta({
|
|
93
|
-
examples: [
|
|
94
|
-
'https://api.tempo.xyz/data/4217/icons/0x20c0000000000000000000008f5425160ebe5525.svg',
|
|
95
|
-
],
|
|
95
|
+
examples: [Tokens.tokenExample.logoUri],
|
|
96
96
|
}),
|
|
97
97
|
),
|
|
98
98
|
name: z
|
|
99
99
|
.string()
|
|
100
|
-
.check(
|
|
100
|
+
.check(
|
|
101
|
+
z.describe('The token’s human-readable name.'),
|
|
102
|
+
z.meta({ examples: [Tokens.tokenExample.name] }),
|
|
103
|
+
),
|
|
101
104
|
symbol: z
|
|
102
105
|
.string()
|
|
103
106
|
.check(
|
|
104
107
|
z.describe('The short ticker symbol wallets and apps show for this token.'),
|
|
105
|
-
z.meta({ examples: [
|
|
108
|
+
z.meta({ examples: [Tokens.tokenExample.symbol] }),
|
|
106
109
|
),
|
|
107
110
|
verified: z
|
|
108
111
|
.optional(z.boolean())
|
|
@@ -119,17 +122,23 @@ export namespace schema {
|
|
|
119
122
|
),
|
|
120
123
|
)
|
|
121
124
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
z.
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
const transferToken = OpenApi.component(SourceToken, 'TokenTransferToken')
|
|
126
|
+
|
|
127
|
+
const ValuedAmount = Schema.describe(
|
|
128
|
+
z.extend(Schema.TokenAmount, {
|
|
129
|
+
valuation: z
|
|
130
|
+
.optional(z.nullable(Valuation.schema.Value))
|
|
131
|
+
.check(
|
|
132
|
+
z.describe(
|
|
133
|
+
'The amount’s nominal value in the requested `valuation.currency`. `null` when the token is ' +
|
|
134
|
+
'unverified, its display currency has no rate, or rates were unavailable.',
|
|
135
|
+
),
|
|
130
136
|
),
|
|
131
|
-
|
|
132
|
-
|
|
137
|
+
}),
|
|
138
|
+
'A token amount carrying its nominal value in the requested denomination.',
|
|
139
|
+
)
|
|
140
|
+
|
|
141
|
+
const valuedTokenAmount = OpenApi.component(ValuedAmount, 'ValuedTokenAmount')
|
|
133
142
|
|
|
134
143
|
/**
|
|
135
144
|
* Filter predicates shared verbatim by the `GET /transfers` list query
|
|
@@ -240,14 +249,14 @@ export namespace schema {
|
|
|
240
249
|
z.meta({ examples: [23456789] }),
|
|
241
250
|
),
|
|
242
251
|
destinationAmount: z
|
|
243
|
-
.optional(
|
|
252
|
+
.optional(valuedTokenAmount)
|
|
244
253
|
.check(
|
|
245
254
|
z.describe(
|
|
246
255
|
'Amount delivered to the recipient for a cross-token transfer. Omitted with `destinationToken` for a same-token transfer.',
|
|
247
256
|
),
|
|
248
257
|
),
|
|
249
258
|
destinationToken: z
|
|
250
|
-
.optional(
|
|
259
|
+
.optional(transferToken)
|
|
251
260
|
.check(
|
|
252
261
|
z.describe(
|
|
253
262
|
'The token delivered to the recipient when it differs from `sourceToken`. Omitted for same-token transfers and returned only with `include=crossToken`.',
|
|
@@ -281,8 +290,8 @@ export namespace schema {
|
|
|
281
290
|
z.describe('The account address that received the tokens.'),
|
|
282
291
|
),
|
|
283
292
|
sender: Schema.Address.check(z.describe('The account address that sent the tokens.')),
|
|
284
|
-
sourceAmount:
|
|
285
|
-
sourceToken:
|
|
293
|
+
sourceAmount: valuedTokenAmount,
|
|
294
|
+
sourceToken: transferToken.check(z.describe('The token that moved.')),
|
|
286
295
|
timestamp: z.iso
|
|
287
296
|
.datetime()
|
|
288
297
|
.check(
|
|
@@ -307,6 +316,8 @@ export namespace schema {
|
|
|
307
316
|
),
|
|
308
317
|
)
|
|
309
318
|
|
|
319
|
+
const transfer = OpenApi.component(Transfer, 'TokenTransfer')
|
|
320
|
+
|
|
310
321
|
/** Page-level resources: opt-in counts plus valuation rate provenance. */
|
|
311
322
|
export const Meta = z
|
|
312
323
|
.object({
|
|
@@ -323,19 +334,26 @@ export namespace schema {
|
|
|
323
334
|
})
|
|
324
335
|
.check(z.describe('Page-level resources attached to this response.'))
|
|
325
336
|
|
|
337
|
+
const meta = OpenApi.component(Meta, 'TokenTransferListMeta')
|
|
338
|
+
|
|
326
339
|
/** Page of TIP-20 token transfers across the chain, ordered by block then log index. */
|
|
327
|
-
export const Response =
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
340
|
+
export const Response = OpenApi.component(
|
|
341
|
+
z
|
|
342
|
+
.object({
|
|
343
|
+
data: z.array(transfer).check(z.describe('The transfers in this page.')),
|
|
344
|
+
// Response-wide `meta` carries the opt-in capped total count
|
|
345
|
+
// (`include=totalCount`) and valuation rate provenance; per-row embeds
|
|
346
|
+
// (`memo`, `token`) attach to each `data` item, not here.
|
|
347
|
+
meta: z
|
|
348
|
+
.optional(meta)
|
|
349
|
+
.check(
|
|
350
|
+
z.describe('Page-level resources: opt-in counts and valuation rate provenance.'),
|
|
351
|
+
),
|
|
352
|
+
nextCursor: Schema.NextCursor,
|
|
353
|
+
})
|
|
354
|
+
.check(z.describe('A page of TIP-20 token transfer events across the chain.')),
|
|
355
|
+
'TokenTransferList',
|
|
356
|
+
)
|
|
339
357
|
}
|
|
340
358
|
}
|
|
341
359
|
|
|
@@ -361,7 +379,10 @@ export function transfers(options: transfers.Options = {}) {
|
|
|
361
379
|
description: 'List token transfer events across Tempo.',
|
|
362
380
|
operationId: 'getTransfers',
|
|
363
381
|
responses: OpenApi.responses({
|
|
364
|
-
errors: {
|
|
382
|
+
errors: {
|
|
383
|
+
400: { codes: ['chain_id_invalid', 'chain_id_unsupported', 'query_invalid'] },
|
|
384
|
+
502: 'The indexer or Tempo RPC could not serve this request.',
|
|
385
|
+
},
|
|
365
386
|
success: {
|
|
366
387
|
description: 'A page of token transfer events.',
|
|
367
388
|
schema: schema.getTransfers.Response,
|
|
@@ -659,7 +680,7 @@ export function transfers(options: transfers.Options = {}) {
|
|
|
659
680
|
} catch (cause) {
|
|
660
681
|
if (cause instanceof Valuation.UnsupportedDenominationError)
|
|
661
682
|
return Response.error(c, { code: 'query_invalid', message: cause.message, status: 400 })
|
|
662
|
-
return Response.upstream(c, cause)
|
|
683
|
+
return Response.upstream(c, cause, { page: options.page })
|
|
663
684
|
}
|
|
664
685
|
},
|
|
665
686
|
)
|
|
@@ -23,47 +23,55 @@ const tokenReadChunkSize = 20
|
|
|
23
23
|
/** Zod schemas owned by the valuation handlers. */
|
|
24
24
|
export namespace schema {
|
|
25
25
|
/** A holding's nominal value in the requested denomination. */
|
|
26
|
-
export const Value =
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
26
|
+
export const Value = OpenApi.component(
|
|
27
|
+
z
|
|
28
|
+
.object({
|
|
29
|
+
amount: z
|
|
30
|
+
.string()
|
|
31
|
+
.check(
|
|
32
|
+
z.regex(/^\d+(\.\d+)?$/),
|
|
33
|
+
z.describe('The holding’s nominal value, as a decimal string in `currency`.'),
|
|
34
|
+
z.meta({ examples: ['1.50'] }),
|
|
35
|
+
),
|
|
36
|
+
currency: z
|
|
37
|
+
.string()
|
|
38
|
+
.check(
|
|
39
|
+
z.describe('The denomination currency of this value.'),
|
|
40
|
+
z.meta({ examples: ['USD'] }),
|
|
41
|
+
),
|
|
42
|
+
})
|
|
43
|
+
.check(z.describe('The holding’s nominal value in the requested denomination.')),
|
|
44
|
+
'ValuationValue',
|
|
45
|
+
)
|
|
43
46
|
|
|
44
47
|
/** Rate provenance for a converted valuation. */
|
|
45
|
-
export const Pricing =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
.
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
48
|
+
export const Pricing = OpenApi.component(
|
|
49
|
+
z
|
|
50
|
+
.object({
|
|
51
|
+
asOf: z.iso
|
|
52
|
+
.datetime()
|
|
53
|
+
.check(
|
|
54
|
+
z.describe('Publication date of the rate set as an ISO 8601 timestamp.'),
|
|
55
|
+
z.meta({ examples: ['2026-07-20T00:00:00.000Z'] }),
|
|
56
|
+
),
|
|
57
|
+
basis: z
|
|
58
|
+
.literal('nominal')
|
|
59
|
+
.check(
|
|
60
|
+
z.describe(
|
|
61
|
+
'Valuation basis: one token unit counts as one unit of its display currency.',
|
|
62
|
+
),
|
|
63
|
+
z.meta({ examples: ['nominal'] }),
|
|
64
|
+
),
|
|
65
|
+
source: z
|
|
66
|
+
.string()
|
|
67
|
+
.check(
|
|
68
|
+
z.describe('FX rate oracle that supplied the conversion rates.'),
|
|
69
|
+
z.meta({ examples: ['ecb'] }),
|
|
70
|
+
),
|
|
71
|
+
})
|
|
72
|
+
.check(z.describe('Rate provenance for a converted valuation.')),
|
|
73
|
+
'ValuationPricing',
|
|
74
|
+
)
|
|
67
75
|
|
|
68
76
|
/** Schemas for the getAddressValuation operation. */
|
|
69
77
|
export namespace getAddressValuation {
|
|
@@ -89,47 +97,50 @@ export namespace schema {
|
|
|
89
97
|
.check(z.describe('Query parameters for valuing an account’s verified holdings.'))
|
|
90
98
|
|
|
91
99
|
/** The nominal valuation of an account's verified holdings. */
|
|
92
|
-
export const Response =
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
export const Response = OpenApi.component(
|
|
101
|
+
z
|
|
102
|
+
.object({
|
|
103
|
+
address: Schema.Address.check(z.describe('The account address this valuation covers.')),
|
|
104
|
+
amount: z
|
|
105
|
+
.string()
|
|
106
|
+
.check(
|
|
107
|
+
z.regex(/^\d+(\.\d+)?$/),
|
|
108
|
+
z.describe(
|
|
109
|
+
'The total value of the account’s verified holdings, as a decimal string in `currency`.',
|
|
110
|
+
),
|
|
111
|
+
z.meta({ examples: ['160.50'] }),
|
|
101
112
|
),
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
z.describe('The denomination currency of `amount`.'),
|
|
108
|
-
z.meta({ examples: ['USD'] }),
|
|
109
|
-
),
|
|
110
|
-
id: z
|
|
111
|
-
.string()
|
|
112
|
-
.check(
|
|
113
|
-
z.describe('A stable resource ID for this valuation, equal to the account address.'),
|
|
114
|
-
z.meta({ examples: ['0xbe058e1c4df8a4366a387bf595b284246a93039e'] }),
|
|
115
|
-
),
|
|
116
|
-
pricing: z
|
|
117
|
-
.nullable(Pricing)
|
|
118
|
-
.check(
|
|
119
|
-
z.describe(
|
|
120
|
-
'Rate provenance, or `null` when every valued holding was already denominated in `currency`.',
|
|
113
|
+
currency: z
|
|
114
|
+
.string()
|
|
115
|
+
.check(
|
|
116
|
+
z.describe('The denomination currency of `amount`.'),
|
|
117
|
+
z.meta({ examples: ['USD'] }),
|
|
121
118
|
),
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
'Display currencies excluded from `amount` because the FX oracle has no rate for them.',
|
|
119
|
+
id: z
|
|
120
|
+
.string()
|
|
121
|
+
.check(
|
|
122
|
+
z.describe('A stable resource ID for this valuation, equal to the account address.'),
|
|
123
|
+
z.meta({ examples: ['0xbe058e1c4df8a4366a387bf595b284246a93039e'] }),
|
|
128
124
|
),
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
125
|
+
pricing: z
|
|
126
|
+
.nullable(Pricing)
|
|
127
|
+
.check(
|
|
128
|
+
z.describe(
|
|
129
|
+
'Rate provenance, or `null` when every valued holding was already denominated in `currency`.',
|
|
130
|
+
),
|
|
131
|
+
),
|
|
132
|
+
unpriced: z
|
|
133
|
+
.array(z.string())
|
|
134
|
+
.check(
|
|
135
|
+
z.describe(
|
|
136
|
+
'Display currencies excluded from `amount` because the FX oracle has no rate for them.',
|
|
137
|
+
),
|
|
138
|
+
z.meta({ examples: [['BTC']] }),
|
|
139
|
+
),
|
|
140
|
+
})
|
|
141
|
+
.check(z.describe('The nominal valuation of an account’s verified token holdings.')),
|
|
142
|
+
'AddressValuation',
|
|
143
|
+
)
|
|
133
144
|
}
|
|
134
145
|
}
|
|
135
146
|
|
|
@@ -155,7 +166,12 @@ export function addresses(options: addresses.Options = {}) {
|
|
|
155
166
|
'Values every verified TIP-20 token an account holds as one unit of its display currency, converts each currency into the requested denomination using the configured FX rates, and returns the total.',
|
|
156
167
|
operationId: 'getAddressValuation',
|
|
157
168
|
responses: OpenApi.responses({
|
|
158
|
-
errors: {
|
|
169
|
+
errors: {
|
|
170
|
+
400: {
|
|
171
|
+
codes: ['address_invalid', 'chain_id_invalid', 'chain_id_unsupported', 'query_invalid'],
|
|
172
|
+
},
|
|
173
|
+
502: 'Could not read balances or exchange rates from an upstream service.',
|
|
174
|
+
},
|
|
159
175
|
success: {
|
|
160
176
|
description: 'The valuation of this account’s verified holdings.',
|
|
161
177
|
schema: schema.getAddressValuation.Response,
|
|
@@ -544,7 +544,9 @@ export namespace schema {
|
|
|
544
544
|
.check(
|
|
545
545
|
z.int(),
|
|
546
546
|
z.nonnegative(),
|
|
547
|
-
z.describe(
|
|
547
|
+
z.describe(
|
|
548
|
+
'Number of delivery failures in a row for this subscription, capped at the auto-disable threshold.',
|
|
549
|
+
),
|
|
548
550
|
z.meta({ examples: [0] }),
|
|
549
551
|
),
|
|
550
552
|
filters: Filters.check(
|
|
@@ -560,7 +562,9 @@ export namespace schema {
|
|
|
560
562
|
lastDeliveryAt: z
|
|
561
563
|
.optional(z.iso.datetime())
|
|
562
564
|
.check(
|
|
563
|
-
z.describe(
|
|
565
|
+
z.describe(
|
|
566
|
+
'When Tempo last delivered an event successfully, as an ISO 8601 timestamp. Refreshed at most once per minute during sustained delivery.',
|
|
567
|
+
),
|
|
564
568
|
z.meta({ examples: ['2024-01-01T00:00:00Z'] }),
|
|
565
569
|
),
|
|
566
570
|
status: Status.check(z.meta({ examples: ['active'] })),
|
|
@@ -33,7 +33,19 @@ const withdrawalProcessedData = AbiParameters.from(['address', 'uint128', 'bool'
|
|
|
33
33
|
const recipient = Schema.Address.parse('0xbe058e1c4df8a4366a387bf595b284246a93039e')
|
|
34
34
|
const token = Schema.Address.parse('0x20c0000000000000000000000000000000000000')
|
|
35
35
|
|
|
36
|
+
type OpenApiErrorSchema = {
|
|
37
|
+
$ref?: string
|
|
38
|
+
properties?: {
|
|
39
|
+
error?: {
|
|
40
|
+
properties?: {
|
|
41
|
+
code?: { enum?: readonly string[] }
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
|
|
36
47
|
type OpenApiDocument = {
|
|
48
|
+
components?: { schemas?: Record<string, OpenApiErrorSchema> }
|
|
37
49
|
paths: {
|
|
38
50
|
'/v1/zones/withdrawals/{senderTag}'?: {
|
|
39
51
|
get?: {
|
|
@@ -63,15 +75,7 @@ type OpenApiDocument = {
|
|
|
63
75
|
400?: {
|
|
64
76
|
content?: {
|
|
65
77
|
'application/json'?: {
|
|
66
|
-
schema?:
|
|
67
|
-
properties?: {
|
|
68
|
-
error?: {
|
|
69
|
-
properties?: {
|
|
70
|
-
code?: { enum?: readonly string[] }
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
78
|
+
schema?: OpenApiErrorSchema
|
|
75
79
|
}
|
|
76
80
|
}
|
|
77
81
|
}
|
|
@@ -331,7 +335,7 @@ describe('GET /v1/zones/withdrawals/:senderTag', () => {
|
|
|
331
335
|
expect(response.status).toBe(403)
|
|
332
336
|
expect(body.error.code).toBe('api_key_forbidden')
|
|
333
337
|
expect(body.error.message).toBe(
|
|
334
|
-
`Chain
|
|
338
|
+
`Chain ID ${runtime.zone.chainId} is a Zone. Use an API key granting \`zone:${runtime.zone.chainId}:read\` or \`zone:${runtime.zone.chainId}:write\`.`,
|
|
335
339
|
)
|
|
336
340
|
})
|
|
337
341
|
|
|
@@ -419,7 +423,7 @@ describe('GET /v1/zones/withdrawals/:senderTag', () => {
|
|
|
419
423
|
},
|
|
420
424
|
{
|
|
421
425
|
"examples": [
|
|
422
|
-
|
|
426
|
+
1424310003,
|
|
423
427
|
],
|
|
424
428
|
"name": "chainId",
|
|
425
429
|
"required": true,
|
|
@@ -428,11 +432,13 @@ describe('GET /v1/zones/withdrawals/:senderTag', () => {
|
|
|
428
432
|
`)
|
|
429
433
|
|
|
430
434
|
const response = operation.responses?.[200]?.content?.['application/json']
|
|
435
|
+
const errorSchema = operation.responses?.[400]?.content?.['application/json']?.schema
|
|
436
|
+
const errorSchemaName = errorSchema?.$ref?.split('/').at(-1)
|
|
437
|
+
const errorSchema_resolved = errorSchemaName
|
|
438
|
+
? document.components?.schemas?.[errorSchemaName]
|
|
439
|
+
: errorSchema
|
|
431
440
|
expect(Object.keys(response?.examples ?? {}).sort()).toEqual(['empty', 'processed'])
|
|
432
|
-
expect(
|
|
433
|
-
operation.responses?.[400]?.content?.['application/json']?.schema?.properties?.error
|
|
434
|
-
?.properties?.code?.enum,
|
|
435
|
-
).toEqual([
|
|
441
|
+
expect(errorSchema_resolved?.properties?.error?.properties?.code?.enum).toEqual([
|
|
436
442
|
'api_key_malformed',
|
|
437
443
|
'chain_id_invalid',
|
|
438
444
|
'chain_id_unsupported',
|
|
@@ -43,7 +43,7 @@ export namespace schema {
|
|
|
43
43
|
.strictObject({
|
|
44
44
|
chainId: Schema.ChainId.check(
|
|
45
45
|
z.describe('The chain id of the Zone where the withdrawal originated.'),
|
|
46
|
-
z.meta({ examples: [
|
|
46
|
+
z.meta({ examples: [1_424_310_003] }),
|
|
47
47
|
),
|
|
48
48
|
})
|
|
49
49
|
.check(z.describe('Query parameters used to select the originating Zone.'))
|