tapimo 0.10.2 → 0.12.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 +4896 -2166
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +2 -2
- 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/Webhooks.d.ts +0 -75
- package/dist/Webhooks.d.ts.map +1 -1
- package/dist/Webhooks.js +1 -143
- package/dist/Webhooks.js.map +1 -1
- package/dist/admin/App.d.ts +127 -78
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/apps/earn-vaults.d.ts +115 -1
- package/dist/admin/apps/earn-vaults.d.ts.map +1 -1
- package/dist/admin/apps/earn-vaults.js +59 -6
- package/dist/admin/apps/earn-vaults.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts +3 -3
- 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 +83 -83
- 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 +151 -151
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/apps/data/App.d.ts +5924 -4310
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +61 -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 +2368 -5
- package/dist/apps/data/routes/activities.d.ts.map +1 -1
- package/dist/apps/data/routes/activities.js +423 -114
- package/dist/apps/data/routes/activities.js.map +1 -1
- package/dist/apps/data/routes/addresses.d.ts +131 -0
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.d.ts +25 -25
- package/dist/apps/data/routes/balances.js +1 -1
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +1 -1
- package/dist/apps/data/routes/blocks.js +1 -1
- package/dist/apps/data/routes/blocks.js.map +1 -1
- package/dist/apps/data/routes/earn.d.ts +135 -10
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +157 -25
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts +829 -123
- 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 +26 -26
- 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/receipts.d.ts +54 -54
- package/dist/apps/data/routes/receipts.js +1 -1
- 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 +12 -12
- 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 +17 -3
- package/dist/apps/data/routes/tokens.d.ts.map +1 -1
- package/dist/apps/data/routes/tokens.js +34 -15
- package/dist/apps/data/routes/tokens.js.map +1 -1
- package/dist/apps/data/routes/transactions.d.ts +1 -1
- package/dist/apps/data/routes/transactions.js +1 -1
- package/dist/apps/data/routes/transactions.js.map +1 -1
- package/dist/apps/data/routes/transfers.d.ts +13 -13
- package/dist/apps/data/routes/transfers.d.ts.map +1 -1
- package/dist/apps/data/routes/transfers.js +7 -9
- package/dist/apps/data/routes/transfers.js.map +1 -1
- package/dist/apps/data/routes/valuation.d.ts +21 -21
- package/dist/apps/data/routes/verified-tokens.d.ts +5 -5
- package/dist/apps/data/routes/webhooks.d.ts +1011 -151
- package/dist/apps/data/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/data/routes/webhooks.js +126 -739
- package/dist/apps/data/routes/webhooks.js.map +1 -1
- package/dist/apps/data/routes/zones.d.ts +15 -15
- package/dist/apps/funding/App.d.ts +27 -27
- 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 +18 -18
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -1
- package/dist/apps/funding/routes/deposit-addresses.js +8 -8
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -1
- 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 +33 -33
- package/dist/apps/management/App.d.ts +1433 -322
- 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 +154 -94
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +76 -30
- 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 +12 -12
- 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 +128 -83
- 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 +68 -47
- 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 +130 -68
- 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 +38 -38
- 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 +34 -6
- 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 +1186 -197
- package/dist/apps/management/routes/webhooks.d.ts.map +1 -1
- package/dist/apps/management/routes/webhooks.js +106 -38
- 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 +61 -0
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +30 -2
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +28 -3
- 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/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 +16 -20
- package/dist/db/tables/webhookQueueEvents.d.ts.map +1 -1
- package/dist/db/tables/webhookQueueEvents.js +68 -43
- package/dist/db/tables/webhookQueueEvents.js.map +1 -1
- package/dist/db/tables/webhookSubscriptions.d.ts +47 -72
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -1
- package/dist/db/tables/webhookSubscriptions.js +92 -105
- package/dist/db/tables/webhookSubscriptions.js.map +1 -1
- package/dist/internal/Auth.d.ts +8 -1
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +13 -3
- 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 +41 -2
- 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/MetricSink.d.ts +35 -125
- package/dist/internal/MetricSink.d.ts.map +1 -1
- package/dist/internal/MetricSink.js +50 -121
- package/dist/internal/MetricSink.js.map +1 -1
- package/dist/internal/OpenApi.d.ts +26 -22
- package/dist/internal/OpenApi.d.ts.map +1 -1
- package/dist/internal/OpenApi.js +128 -39
- package/dist/internal/OpenApi.js.map +1 -1
- package/dist/internal/Response.d.ts +13 -8
- 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 +8 -8
- package/dist/internal/Schema.d.ts.map +1 -1
- package/dist/internal/Schema.js +10 -9
- package/dist/internal/Schema.js.map +1 -1
- package/dist/internal/Store.d.ts +15 -6
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +45 -15
- 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 +16 -4
- package/dist/internal/Tidx.js.map +1 -1
- package/dist/internal/WebhookTransfer.d.ts +1 -55
- package/dist/internal/WebhookTransfer.d.ts.map +1 -1
- package/dist/internal/WebhookTransfer.js +1 -239
- package/dist/internal/WebhookTransfer.js.map +1 -1
- package/dist/internal/Webhooks.d.ts +112 -56
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +124 -93
- package/dist/internal/Webhooks.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/DepositWebhook.d.ts +25 -0
- package/dist/internal/funding/DepositWebhook.d.ts.map +1 -0
- package/dist/internal/funding/DepositWebhook.js +74 -0
- package/dist/internal/funding/DepositWebhook.js.map +1 -0
- package/dist/internal/funding/Provider.d.ts.map +1 -1
- package/dist/internal/funding/Provider.js +13 -12
- package/dist/internal/funding/Provider.js.map +1 -1
- package/dist/internal/funding/Reconciliation.d.ts +6 -0
- package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
- package/dist/internal/funding/Reconciliation.js +42 -10
- package/dist/internal/funding/Reconciliation.js.map +1 -1
- package/dist/internal/funding/index.d.ts +1 -0
- package/dist/internal/funding/index.d.ts.map +1 -1
- package/dist/internal/funding/index.js +1 -0
- package/dist/internal/funding/index.js.map +1 -1
- package/dist/internal/funding/providers/stargate.d.ts +19 -0
- package/dist/internal/funding/providers/stargate.d.ts.map +1 -0
- package/dist/internal/funding/providers/stargate.js +143 -0
- package/dist/internal/funding/providers/stargate.js.map +1 -0
- package/dist/internal/webhookDestinations/slack.d.ts.map +1 -1
- package/dist/internal/webhookDestinations/slack.js +16 -0
- package/dist/internal/webhookDestinations/slack.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 +2 -2
- package/src/App.test.ts +48 -0
- package/src/App.ts +7 -2
- package/src/Assets.test.ts +18 -0
- package/src/Assets.ts +22 -0
- package/src/Client.test-d.ts +287 -17
- package/src/Webhooks.ts +1 -220
- package/src/admin/apps/earn-vaults.test.ts +143 -0
- package/src/admin/apps/earn-vaults.ts +83 -6
- package/src/admin/apps/organizations.ts +6 -2
- package/src/admin/ui/src/routes/api-keys.tsx +36 -0
- package/src/admin/ui.generated.ts +151 -189
- package/src/apps/data/App.test.ts +31 -0
- package/src/apps/data/App.ts +64 -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 +435 -12
- package/src/apps/data/routes/activities.ts +562 -125
- package/src/apps/data/routes/balances.ts +1 -1
- package/src/apps/data/routes/blocks.ts +1 -1
- package/src/apps/data/routes/earn.test.ts +183 -23
- package/src/apps/data/routes/earn.ts +225 -29
- 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 +1 -1
- 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 +29 -0
- package/src/apps/data/routes/tokens.ts +38 -15
- package/src/apps/data/routes/transactions.ts +1 -1
- package/src/apps/data/routes/transfers.test.ts +3 -3
- package/src/apps/data/routes/transfers.ts +12 -9
- package/src/apps/data/routes/webhooks.test.ts +179 -1497
- package/src/apps/data/routes/webhooks.ts +156 -976
- package/src/apps/data/routes/zones.test.ts +19 -13
- 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 +394 -0
- package/src/apps/funding/routes/deposit-addresses.ts +84 -72
- package/src/apps/funding/routes/providers.ts +9 -5
- package/src/apps/funding/routes/quotes.test.ts +46 -0
- package/src/apps/funding/routes/quotes.ts +8 -5
- package/src/apps/funding/routes/transfers.test.ts +35 -32
- 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 +178 -0
- package/src/apps/management/routes/api-keys.ts +203 -144
- 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 +313 -1
- package/src/apps/management/routes/webhooks.ts +220 -71
- package/src/apps/mpp/internal/Adapter.ts +13 -1
- package/src/db/Db.test.ts +42 -5
- package/src/db/Db.ts +85 -0
- package/src/db/Schema.ts +41 -3
- package/src/db/tables/earnVaults.test.ts +22 -0
- package/src/db/tables/earnVaults.ts +11 -1
- package/src/db/tables/organizations.test.ts +5 -2
- package/src/db/tables/webhookDeliveries.ts +13 -0
- package/src/db/tables/webhookQueueCompletions.ts +55 -0
- package/src/db/tables/webhookQueueEvents.ts +97 -57
- package/src/db/tables/webhookSubscriptions.ts +134 -144
- package/src/internal/Auth.ts +23 -5
- 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/MetricSink.test.ts +41 -373
- package/src/internal/MetricSink.ts +92 -273
- package/src/internal/OpenApi.ts +165 -49
- package/src/internal/Response.test.ts +95 -0
- package/src/internal/Response.ts +40 -2
- package/src/internal/Schema.test.ts +34 -0
- package/src/internal/Schema.ts +20 -9
- package/src/internal/Store.test.ts +186 -0
- package/src/internal/Store.ts +57 -17
- package/src/internal/Tidx.test.ts +19 -0
- package/src/internal/Tidx.ts +16 -4
- package/src/internal/WebhookTransfer.ts +1 -351
- package/src/internal/Webhooks.test.ts +222 -145
- package/src/internal/Webhooks.ts +234 -135
- package/src/internal/funding/Deposit.ts +71 -64
- package/src/internal/funding/DepositAddress.ts +50 -43
- package/src/internal/funding/DepositWebhook.test.ts +131 -0
- package/src/internal/funding/DepositWebhook.ts +101 -0
- package/src/internal/funding/Provider.ts +164 -142
- package/src/internal/funding/Reconciliation.test.ts +14 -0
- package/src/internal/funding/Reconciliation.ts +161 -86
- package/src/internal/funding/index.test.ts +1 -0
- package/src/internal/funding/index.ts +1 -0
- package/src/internal/funding/providers/index.test.ts +185 -0
- package/src/internal/funding/providers/stargate.ts +184 -0
- package/src/internal/webhookDestinations/slack.ts +15 -0
- package/src/providers/index.test.ts +1 -0
- package/src/providers/index.ts +9 -0
- package/src/Webhooks.bench.ts +0 -714
- package/src/Webhooks.memory.bench.ts +0 -250
- package/src/Webhooks.test.ts +0 -146
|
@@ -2,6 +2,7 @@ import { Address, Base58, Bytes, Hash, Value as core_Value } from 'ox'
|
|
|
2
2
|
import * as z from 'zod/mini'
|
|
3
3
|
|
|
4
4
|
import * as core_Provider from '../Provider.js'
|
|
5
|
+
import * as OpenApi from '../OpenApi.js'
|
|
5
6
|
import * as Schema from '../Schema.js'
|
|
6
7
|
import * as Value from '../Value.js'
|
|
7
8
|
import * as Action from './Action.js'
|
|
@@ -42,85 +43,97 @@ export namespace schema {
|
|
|
42
43
|
export const PositiveInteger = z.string().check(z.regex(/^(?=.*[1-9])\d+$/))
|
|
43
44
|
|
|
44
45
|
/** Normalized chain reference passed to funding providers. */
|
|
45
|
-
export const ChainRef =
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
46
|
+
export const ChainRef = OpenApi.component(
|
|
47
|
+
Schema.describe(
|
|
48
|
+
z.object({
|
|
49
|
+
addressFormat: z
|
|
50
|
+
.enum(['base58', 'base58check', 'hex'])
|
|
51
|
+
.check(
|
|
52
|
+
z.describe('Address encoding used by accounts and token identifiers on this chain.'),
|
|
53
|
+
z.meta({ examples: ['hex'] }),
|
|
54
|
+
),
|
|
55
|
+
id: z.string().check(z.describe('CAIP-2 chain id.'), z.meta({ examples: ['eip155:8453'] })),
|
|
56
|
+
kind: z
|
|
57
|
+
.enum(['evm', 'solana', 'tron'])
|
|
58
|
+
.check(
|
|
59
|
+
z.describe('Chain execution family used for provider routing.'),
|
|
60
|
+
z.meta({ examples: ['evm'] }),
|
|
61
|
+
),
|
|
62
|
+
name: z
|
|
63
|
+
.string()
|
|
64
|
+
.check(z.describe('Human-readable chain name.'), z.meta({ examples: ['Base'] })),
|
|
65
|
+
}),
|
|
66
|
+
'A normalized chain reference for funding quotes.',
|
|
67
|
+
),
|
|
68
|
+
'FundingChain',
|
|
65
69
|
)
|
|
66
70
|
|
|
67
71
|
/** Normalized token reference passed to funding providers. */
|
|
68
|
-
export const TokenRef =
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
z
|
|
101
|
-
|
|
102
|
-
examples: ['
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
z.describe('Whether Tempo recognizes this token in its funding quote inventory.'),
|
|
109
|
-
z.meta({ examples: [true] }),
|
|
72
|
+
export const TokenRef = OpenApi.component(
|
|
73
|
+
Schema.describe(
|
|
74
|
+
z.object({
|
|
75
|
+
address: z
|
|
76
|
+
.string()
|
|
77
|
+
.check(
|
|
78
|
+
z.describe('Contract address, mint, or issuer address on the token chain.'),
|
|
79
|
+
z.meta({ examples: ['0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'] }),
|
|
80
|
+
),
|
|
81
|
+
currency: z
|
|
82
|
+
.string()
|
|
83
|
+
.check(
|
|
84
|
+
z.describe('Monetary denomination represented by this token.'),
|
|
85
|
+
z.meta({ examples: ['USD'] }),
|
|
86
|
+
),
|
|
87
|
+
decimals: z
|
|
88
|
+
.number()
|
|
89
|
+
.check(
|
|
90
|
+
z.int(),
|
|
91
|
+
z.gte(0),
|
|
92
|
+
z.describe('Number of decimal places this token uses.'),
|
|
93
|
+
z.meta({ examples: [6] }),
|
|
94
|
+
),
|
|
95
|
+
name: z
|
|
96
|
+
.string()
|
|
97
|
+
.check(z.describe('Human-readable token name.'), z.meta({ examples: ['USD Coin'] })),
|
|
98
|
+
standard: z
|
|
99
|
+
.string()
|
|
100
|
+
.check(
|
|
101
|
+
z.describe('Token standard on the token chain.'),
|
|
102
|
+
z.meta({ examples: ['ERC-20'] }),
|
|
103
|
+
),
|
|
104
|
+
symbol: z
|
|
105
|
+
.string()
|
|
106
|
+
.check(z.describe('Short token ticker symbol.'), z.meta({ examples: ['USDC'] })),
|
|
107
|
+
tokenKey: z.string().check(
|
|
108
|
+
z.describe('Stable Tempo token key scoped to the token chain.'),
|
|
109
|
+
z.meta({
|
|
110
|
+
examples: ['eip155:8453/erc20:0x833589fcd6edb6e08f4c7c32d4f71b54bda02913'],
|
|
111
|
+
}),
|
|
110
112
|
),
|
|
111
|
-
|
|
112
|
-
|
|
113
|
+
verified: z
|
|
114
|
+
.boolean()
|
|
115
|
+
.check(
|
|
116
|
+
z.describe('Whether Tempo recognizes this token in its funding quote inventory.'),
|
|
117
|
+
z.meta({ examples: [true] }),
|
|
118
|
+
),
|
|
119
|
+
}),
|
|
120
|
+
'A normalized token reference for funding quotes.',
|
|
121
|
+
),
|
|
122
|
+
'FundingToken',
|
|
113
123
|
)
|
|
114
124
|
|
|
115
125
|
/** Provider identity embedded in funding resources. */
|
|
116
|
-
export const ProviderRef =
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
126
|
+
export const ProviderRef = OpenApi.component(
|
|
127
|
+
Schema.describe(
|
|
128
|
+
z.object({
|
|
129
|
+
id: z.string().check(z.describe('Stable provider id.'), z.meta({ examples: ['relay'] })),
|
|
130
|
+
name: z
|
|
131
|
+
.string()
|
|
132
|
+
.check(z.describe('Human-readable provider name.'), z.meta({ examples: ['Relay'] })),
|
|
133
|
+
}),
|
|
134
|
+
'Provider metadata embedded in a funding quote.',
|
|
135
|
+
),
|
|
136
|
+
'FundingProvider',
|
|
124
137
|
)
|
|
125
138
|
|
|
126
139
|
/** Source amount unit accepted by a funding quote request. */
|
|
@@ -264,84 +277,93 @@ export namespace schema {
|
|
|
264
277
|
})
|
|
265
278
|
|
|
266
279
|
/** Quote quality signals exposed to funding API callers. */
|
|
267
|
-
export const FundingQuoteQuality =
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
280
|
+
export const FundingQuoteQuality = OpenApi.component(
|
|
281
|
+
Schema.describe(
|
|
282
|
+
z.object({
|
|
283
|
+
estimatedSeconds: z
|
|
284
|
+
.optional(z.number().check(z.int(), z.nonnegative()))
|
|
285
|
+
.check(
|
|
286
|
+
z.describe('Estimated settlement time in seconds, when known.'),
|
|
287
|
+
z.meta({ examples: [2] }),
|
|
288
|
+
),
|
|
289
|
+
liquiditySource: z
|
|
290
|
+
.string()
|
|
291
|
+
.check(
|
|
292
|
+
z.describe('Provider source for the live quote quality signal.'),
|
|
293
|
+
z.meta({ examples: ['providerQuote'] }),
|
|
294
|
+
),
|
|
295
|
+
sourceDetail: z
|
|
296
|
+
.optional(z.string())
|
|
297
|
+
.check(
|
|
298
|
+
z.describe('Provider-specific source or endpoint detail for the quality signal.'),
|
|
299
|
+
z.meta({ examples: ['providerEndpoint'] }),
|
|
300
|
+
),
|
|
301
|
+
tier: z
|
|
302
|
+
.enum(['liquid', 'thin'])
|
|
303
|
+
.check(
|
|
304
|
+
z.describe('Machine-readable quote quality tier for a successful quote.'),
|
|
305
|
+
z.meta({ examples: ['liquid'] }),
|
|
306
|
+
),
|
|
307
|
+
}),
|
|
308
|
+
'Machine-readable liquidity, fee, and source signals for a successful quote.',
|
|
309
|
+
),
|
|
310
|
+
'FundingQuoteQuality',
|
|
295
311
|
)
|
|
296
312
|
|
|
297
313
|
/** Provider quote freshness data exposed to funding API callers. */
|
|
298
|
-
export const QuoteDetails =
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
.
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
+
export const QuoteDetails = OpenApi.component(
|
|
315
|
+
Schema.describe(
|
|
316
|
+
z.object({
|
|
317
|
+
expiresAt: z
|
|
318
|
+
.optional(z.iso.datetime())
|
|
319
|
+
.check(
|
|
320
|
+
z.describe('Timestamp after which the provider quote is no longer valid.'),
|
|
321
|
+
z.meta({ examples: ['2026-01-01T00:01:00Z'] }),
|
|
322
|
+
),
|
|
323
|
+
sampledAt: z.iso
|
|
324
|
+
.datetime()
|
|
325
|
+
.check(
|
|
326
|
+
z.describe('Timestamp for the live quote request.'),
|
|
327
|
+
z.meta({ examples: ['2026-01-01T00:00:00Z'] }),
|
|
328
|
+
),
|
|
329
|
+
}),
|
|
330
|
+
'Freshness data for a provider funding quote.',
|
|
331
|
+
),
|
|
332
|
+
'FundingQuoteDetails',
|
|
314
333
|
)
|
|
315
334
|
|
|
316
335
|
/** Successful normalized funding quote returned to callers. */
|
|
317
|
-
export const FundingQuote =
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
336
|
+
export const FundingQuote = OpenApi.component(
|
|
337
|
+
Schema.describe(
|
|
338
|
+
z.object({
|
|
339
|
+
destinationAmount: Schema.TokenAmount.check(z.describe('Expected destination amount.')),
|
|
340
|
+
destinationAmountMin: z
|
|
341
|
+
.optional(Schema.TokenAmount)
|
|
342
|
+
.check(
|
|
343
|
+
z.describe(
|
|
344
|
+
'Provider-derived minimum destination amount. Symbiosis and Squid quotes use a fixed 1% slippage tolerance.',
|
|
345
|
+
),
|
|
325
346
|
),
|
|
347
|
+
destinationChain: ChainRef.check(
|
|
348
|
+
z.describe('Destination chain, always Tempo mainnet in V1.'),
|
|
326
349
|
),
|
|
327
|
-
|
|
328
|
-
z
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
'One successful provider-specific funding quote.',
|
|
350
|
+
destinationToken: TokenRef.check(z.describe('Tempo token expected from this quote.')),
|
|
351
|
+
id: z
|
|
352
|
+
.string()
|
|
353
|
+
.check(
|
|
354
|
+
z.describe('Stable deterministic funding quote id.'),
|
|
355
|
+
z.meta({ examples: ['base-usdc-tempo-usdce-relay'] }),
|
|
356
|
+
),
|
|
357
|
+
provider: ProviderRef,
|
|
358
|
+
quality: FundingQuoteQuality,
|
|
359
|
+
quote: QuoteDetails,
|
|
360
|
+
sourceAmount: Schema.TokenAmount,
|
|
361
|
+
sourceChain: ChainRef.check(z.describe('Chain where the caller currently holds funds.')),
|
|
362
|
+
sourceToken: TokenRef.check(z.describe('Token the caller currently holds.')),
|
|
363
|
+
}),
|
|
364
|
+
'One successful provider-specific funding quote.',
|
|
365
|
+
),
|
|
366
|
+
'FundingQuote',
|
|
345
367
|
)
|
|
346
368
|
}
|
|
347
369
|
|
|
@@ -770,9 +770,11 @@ describe('createTracker', () => {
|
|
|
770
770
|
).requests[0]
|
|
771
771
|
if (!request) throw new Error('Expected a Relay refund request.')
|
|
772
772
|
const verifyTransfers = Evidence.createVerifier({ db })
|
|
773
|
+
const depositUpdateVersions: number[] = []
|
|
773
774
|
const first = await Reconciliation.reconcileRequest(db, {
|
|
774
775
|
address,
|
|
775
776
|
metrics,
|
|
777
|
+
onDeposit: (deposit) => depositUpdateVersions.push(deposit.version),
|
|
776
778
|
request,
|
|
777
779
|
verifyTransfers,
|
|
778
780
|
})
|
|
@@ -784,12 +786,14 @@ describe('createTracker', () => {
|
|
|
784
786
|
const second = await Reconciliation.reconcileRequest(db, {
|
|
785
787
|
address,
|
|
786
788
|
metrics,
|
|
789
|
+
onDeposit: (deposit) => depositUpdateVersions.push(deposit.version),
|
|
787
790
|
request,
|
|
788
791
|
verifyTransfers,
|
|
789
792
|
})
|
|
790
793
|
const duplicate = await Reconciliation.reconcileRequest(db, {
|
|
791
794
|
address,
|
|
792
795
|
metrics,
|
|
796
|
+
onDeposit: (deposit) => depositUpdateVersions.push(deposit.version),
|
|
793
797
|
request,
|
|
794
798
|
verifyTransfers,
|
|
795
799
|
})
|
|
@@ -797,6 +801,9 @@ describe('createTracker', () => {
|
|
|
797
801
|
depositAddressId: address.id,
|
|
798
802
|
sourceTransactionHash,
|
|
799
803
|
})
|
|
804
|
+
if (!firstRecord || !record) throw new Error('Expected reconciled funding deposits.')
|
|
805
|
+
|
|
806
|
+
expect(depositUpdateVersions).toEqual([2, firstRecord.version, 4, record.version])
|
|
800
807
|
|
|
801
808
|
expect({
|
|
802
809
|
counts,
|
|
@@ -1944,9 +1951,14 @@ describe('createTracker', () => {
|
|
|
1944
1951
|
routes: [],
|
|
1945
1952
|
tokens: [],
|
|
1946
1953
|
})
|
|
1954
|
+
const dispatchedEventIds: string[][] = []
|
|
1947
1955
|
const tracker = Reconciliation.createTracker({
|
|
1948
1956
|
db,
|
|
1949
1957
|
dispatch: async () => undefined,
|
|
1958
|
+
dispatchDepositUpdates: async (references) => {
|
|
1959
|
+
dispatchedEventIds.push(references.map((reference) => reference.eventId))
|
|
1960
|
+
return references.length
|
|
1961
|
+
},
|
|
1950
1962
|
providers: [Relay.relay({ apiKey: 'relay-api-key', baseUrl: server.url })],
|
|
1951
1963
|
verifyTransfers: Evidence.createVerifier({ db }),
|
|
1952
1964
|
})
|
|
@@ -1970,6 +1982,8 @@ describe('createTracker', () => {
|
|
|
1970
1982
|
{ limit: 10 },
|
|
1971
1983
|
)
|
|
1972
1984
|
|
|
1985
|
+
expect(dispatchedEventIds).toEqual([])
|
|
1986
|
+
|
|
1973
1987
|
expect({ failures, records: records.map(Deposit.toPublic) }).toMatchInlineSnapshot(
|
|
1974
1988
|
{
|
|
1975
1989
|
records: [
|