tapimo 0.7.2 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -7
- package/dist/ApiKey.d.ts +3 -0
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKey.js +10 -0
- package/dist/ApiKey.js.map +1 -1
- package/dist/ApiKeys.d.ts +7 -3
- package/dist/ApiKeys.d.ts.map +1 -1
- package/dist/ApiKeys.js +9 -2
- package/dist/ApiKeys.js.map +1 -1
- package/dist/App.d.ts +20117 -19183
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +61 -4
- package/dist/App.js.map +1 -1
- package/dist/admin/App.d.ts +84 -74
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +14 -1
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +6 -2
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/organizations.d.ts +2 -0
- package/dist/admin/apps/organizations.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.d.ts +11 -11
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.js +67 -67
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/analytics/Analytics.d.ts +2 -0
- package/dist/analytics/Analytics.d.ts.map +1 -1
- package/dist/analytics/Analytics.js +3 -0
- package/dist/analytics/Analytics.js.map +1 -1
- package/dist/apps/data/App.d.ts +11696 -13937
- package/dist/apps/data/App.d.ts.map +1 -1
- package/dist/apps/data/App.js +4 -8
- package/dist/apps/data/App.js.map +1 -1
- package/dist/apps/data/routes/activities.d.ts +271 -271
- package/dist/apps/data/routes/addresses.d.ts +398 -167
- package/dist/apps/data/routes/addresses.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.d.ts +278 -8
- package/dist/apps/data/routes/balances.d.ts.map +1 -1
- package/dist/apps/data/routes/balances.js +114 -2
- package/dist/apps/data/routes/balances.js.map +1 -1
- package/dist/apps/data/routes/blocks.d.ts +123 -123
- package/dist/apps/data/routes/coingecko.d.ts +170 -170
- package/dist/apps/data/routes/earn.d.ts +498 -6
- package/dist/apps/data/routes/earn.d.ts.map +1 -1
- package/dist/apps/data/routes/earn.js +876 -4
- package/dist/apps/data/routes/earn.js.map +1 -1
- package/dist/apps/data/routes/exchanges.d.ts +10 -10
- package/dist/apps/data/routes/fee-amm.d.ts +2 -2
- package/dist/apps/data/routes/indexer.d.ts +6 -6
- package/dist/apps/data/routes/indexer.js +4 -1
- package/dist/apps/data/routes/indexer.js.map +1 -1
- package/dist/apps/data/routes/receipts.d.ts +235 -235
- package/dist/apps/data/routes/rpc.d.ts +31 -31
- package/dist/apps/data/routes/rpc.js +4 -1
- package/dist/apps/data/routes/rpc.js.map +1 -1
- package/dist/apps/data/routes/tokenlist.d.ts +36 -36
- package/dist/apps/data/routes/tokens.d.ts +449 -449
- package/dist/apps/data/routes/transactions.d.ts +2 -2
- package/dist/apps/data/routes/transfers.d.ts +81 -81
- package/dist/apps/data/routes/valuation.d.ts +1 -1
- package/dist/apps/data/routes/verified-tokens.d.ts +36 -36
- package/dist/apps/data/routes/webhooks.d.ts +9 -9
- package/dist/apps/data/routes/zones.d.ts +14 -14
- package/dist/apps/funding/Access.d.ts +16 -0
- package/dist/apps/funding/Access.d.ts.map +1 -0
- package/dist/apps/funding/Access.js +22 -0
- package/dist/apps/funding/Access.js.map +1 -0
- package/dist/apps/{data/routes/funding.d.ts → funding/App.d.ts} +1640 -3217
- package/dist/apps/funding/App.d.ts.map +1 -0
- package/dist/apps/funding/App.js +61 -0
- package/dist/apps/funding/App.js.map +1 -0
- package/dist/apps/funding/Inventory.d.ts +5 -0
- package/dist/apps/funding/Inventory.d.ts.map +1 -0
- package/dist/apps/funding/Inventory.js +25 -0
- package/dist/apps/funding/Inventory.js.map +1 -0
- package/dist/apps/funding/ProviderAttempts.d.ts +5 -0
- package/dist/apps/funding/ProviderAttempts.d.ts.map +1 -0
- package/dist/apps/funding/ProviderAttempts.js +24 -0
- package/dist/apps/funding/ProviderAttempts.js.map +1 -0
- package/dist/apps/funding/index.d.ts +2 -0
- package/dist/apps/funding/index.d.ts.map +1 -0
- package/dist/apps/funding/index.js +2 -0
- package/dist/apps/funding/index.js.map +1 -0
- package/dist/apps/funding/routes/chains.d.ts +169 -0
- package/dist/apps/funding/routes/chains.d.ts.map +1 -0
- package/dist/apps/funding/routes/chains.js +80 -0
- package/dist/apps/funding/routes/chains.js.map +1 -0
- package/dist/apps/funding/routes/deposit-addresses.d.ts +1997 -0
- package/dist/apps/funding/routes/deposit-addresses.d.ts.map +1 -0
- package/dist/apps/funding/routes/deposit-addresses.js +778 -0
- package/dist/apps/funding/routes/deposit-addresses.js.map +1 -0
- package/dist/apps/funding/routes/providers.d.ts +91 -0
- package/dist/apps/funding/routes/providers.d.ts.map +1 -0
- package/dist/apps/funding/routes/providers.js +56 -0
- package/dist/apps/funding/routes/providers.js.map +1 -0
- package/dist/apps/funding/routes/quotes.d.ts +426 -0
- package/dist/apps/funding/routes/quotes.d.ts.map +1 -0
- package/dist/apps/funding/routes/quotes.js +188 -0
- package/dist/apps/funding/routes/quotes.js.map +1 -0
- package/dist/apps/funding/routes/transfers.d.ts +1999 -0
- package/dist/apps/funding/routes/transfers.d.ts.map +1 -0
- package/dist/apps/funding/routes/transfers.js +614 -0
- package/dist/apps/funding/routes/transfers.js.map +1 -0
- package/dist/apps/index.d.ts +1 -0
- package/dist/apps/index.d.ts.map +1 -1
- package/dist/apps/index.js +1 -0
- package/dist/apps/index.js.map +1 -1
- package/dist/apps/management/App.d.ts +430 -165
- package/dist/apps/management/App.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.d.ts +298 -21
- package/dist/apps/management/routes/api-keys.d.ts.map +1 -1
- package/dist/apps/management/routes/api-keys.js +75 -1
- package/dist/apps/management/routes/api-keys.js.map +1 -1
- package/dist/apps/management/routes/billing.d.ts +6 -6
- package/dist/apps/management/routes/faucet.d.ts +35 -35
- package/dist/apps/management/routes/invitations.d.ts +122 -122
- package/dist/apps/management/routes/invite-links.d.ts +38 -38
- package/dist/apps/management/routes/members.d.ts +69 -69
- package/dist/apps/management/routes/orgs.d.ts +99 -99
- package/dist/apps/management/routes/projects.d.ts +25 -25
- package/dist/apps/management/routes/scopes.d.ts +1 -1
- package/dist/apps/management/routes/usage.d.ts +72 -72
- package/dist/apps/management/routes/verified-token-requests.d.ts +77 -77
- package/dist/apps/management/routes/webhooks.d.ts +128 -128
- package/dist/apps/mcp.d.ts +2 -3
- package/dist/apps/mcp.d.ts.map +1 -1
- package/dist/apps/mcp.js +16 -14
- package/dist/apps/mcp.js.map +1 -1
- package/dist/apps/metadata.d.ts +4 -0
- package/dist/apps/metadata.d.ts.map +1 -1
- package/dist/apps/metadata.js +10 -0
- package/dist/apps/metadata.js.map +1 -1
- package/dist/apps/mpp/App.d.ts +44 -44
- package/dist/cloudflare.d.ts +50 -0
- package/dist/cloudflare.d.ts.map +1 -1
- package/dist/cloudflare.js +178 -0
- package/dist/cloudflare.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 +45 -0
- package/dist/db/Db.js.map +1 -1
- package/dist/db/Schema.d.ts +12 -0
- package/dist/db/Schema.d.ts.map +1 -1
- package/dist/db/Schema.js +20 -0
- package/dist/db/Schema.js.map +1 -1
- package/dist/db/tables/fundingDepositAddresses.d.ts +13 -0
- package/dist/db/tables/fundingDepositAddresses.d.ts.map +1 -1
- package/dist/db/tables/fundingDepositAddresses.js +12 -0
- package/dist/db/tables/fundingDepositAddresses.js.map +1 -1
- package/dist/db/tables/fundingDepositRequestObservations.d.ts +45 -0
- package/dist/db/tables/fundingDepositRequestObservations.d.ts.map +1 -0
- package/dist/db/tables/fundingDepositRequestObservations.js +46 -0
- package/dist/db/tables/fundingDepositRequestObservations.js.map +1 -0
- package/dist/db/tables/fundingDeposits.d.ts +74 -1
- package/dist/db/tables/fundingDeposits.d.ts.map +1 -1
- package/dist/db/tables/fundingDeposits.js +126 -0
- package/dist/db/tables/fundingDeposits.js.map +1 -1
- package/dist/internal/Auth.d.ts +15 -11
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +52 -17
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/Cache.js +1 -1
- package/dist/internal/Cache.js.map +1 -1
- package/dist/internal/EdgeCache.d.ts +2 -2
- package/dist/internal/EdgeCache.d.ts.map +1 -1
- package/dist/internal/EdgeCache.js +10 -4
- package/dist/internal/EdgeCache.js.map +1 -1
- package/dist/internal/IpAllowlist.d.ts +15 -0
- package/dist/internal/IpAllowlist.d.ts.map +1 -0
- package/dist/internal/IpAllowlist.js +27 -0
- package/dist/internal/IpAllowlist.js.map +1 -0
- package/dist/internal/OpenApi.d.ts +1 -1
- package/dist/internal/OpenApi.js +1 -1
- package/dist/internal/OpenApi.js.map +1 -1
- package/dist/internal/Tidx.d.ts +6 -0
- package/dist/internal/Tidx.d.ts.map +1 -1
- package/dist/internal/Tidx.js +13 -3
- package/dist/internal/Tidx.js.map +1 -1
- package/dist/internal/Viem.d.ts +8 -0
- package/dist/internal/Viem.d.ts.map +1 -1
- package/dist/internal/Viem.js +12 -5
- package/dist/internal/Viem.js.map +1 -1
- package/dist/internal/funding/Deposit.d.ts +42 -0
- package/dist/internal/funding/Deposit.d.ts.map +1 -1
- package/dist/internal/funding/Deposit.js +37 -5
- package/dist/internal/funding/Deposit.js.map +1 -1
- package/dist/internal/funding/Evidence.d.ts +1 -5
- package/dist/internal/funding/Evidence.d.ts.map +1 -1
- package/dist/internal/funding/Evidence.js +4 -3
- package/dist/internal/funding/Evidence.js.map +1 -1
- package/dist/internal/funding/Provider.d.ts +102 -0
- package/dist/internal/funding/Provider.d.ts.map +1 -1
- package/dist/internal/funding/Provider.js +5 -0
- package/dist/internal/funding/Provider.js.map +1 -1
- package/dist/internal/funding/Reconciliation.d.ts +16 -2
- package/dist/internal/funding/Reconciliation.d.ts.map +1 -1
- package/dist/internal/funding/Reconciliation.js +348 -54
- package/dist/internal/funding/Reconciliation.js.map +1 -1
- package/dist/internal/funding/SourceObservation.d.ts +108 -0
- package/dist/internal/funding/SourceObservation.d.ts.map +1 -0
- package/dist/internal/funding/SourceObservation.js +143 -0
- package/dist/internal/funding/SourceObservation.js.map +1 -0
- package/dist/internal/funding/Subsidy.d.ts +2 -2
- package/dist/internal/funding/Subsidy.d.ts.map +1 -1
- package/dist/internal/funding/Subsidy.js +1 -1
- package/dist/internal/funding/Subsidy.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/relay.d.ts +43 -1
- package/dist/internal/funding/providers/relay.d.ts.map +1 -1
- package/dist/internal/funding/providers/relay.js +438 -27
- package/dist/internal/funding/providers/relay.js.map +1 -1
- package/package.json +3 -3
- package/src/ApiKey.test.ts +35 -0
- package/src/ApiKey.ts +27 -0
- package/src/ApiKeys.test.ts +29 -0
- package/src/ApiKeys.ts +11 -3
- package/src/App.test.ts +55 -5
- package/src/App.ts +79 -5
- package/src/Client.test-d.ts +203 -28
- package/src/admin/apps/api-keys.test.ts +25 -1
- package/src/admin/apps/api-keys.ts +6 -2
- package/src/admin/ui.generated.ts +67 -67
- package/src/analytics/Analytics.ts +4 -0
- package/src/apps/composition.test.ts +130 -3
- package/src/apps/data/App.test.ts +0 -12
- package/src/apps/data/App.ts +4 -8
- package/src/apps/data/routes/balances.test.ts +42 -0
- package/src/apps/data/routes/balances.ts +218 -85
- package/src/apps/data/routes/earn.test.ts +363 -0
- package/src/apps/data/routes/earn.ts +1141 -3
- package/src/apps/data/routes/indexer.ts +2 -1
- package/src/apps/data/routes/rpc.ts +2 -0
- package/src/apps/data/routes/tokens.test.ts +6 -8
- package/src/apps/funding/Access.ts +26 -0
- package/src/apps/funding/App.test.ts +78 -0
- package/src/apps/funding/App.ts +78 -0
- package/src/apps/funding/Inventory.ts +30 -0
- package/src/apps/funding/ProviderAttempts.ts +26 -0
- package/src/apps/funding/index.ts +1 -0
- package/src/apps/funding/routes/chains.test.ts +78 -0
- package/src/apps/funding/routes/chains.ts +101 -0
- package/src/apps/funding/routes/deposit-addresses.test.ts +1649 -0
- package/src/apps/funding/routes/deposit-addresses.ts +932 -0
- package/src/apps/funding/routes/providers.test.ts +165 -0
- package/src/apps/funding/routes/providers.ts +73 -0
- package/src/apps/funding/routes/quotes.test.ts +511 -0
- package/src/apps/funding/routes/quotes.ts +205 -0
- package/src/apps/funding/routes/transfers.test.ts +1236 -0
- package/src/apps/funding/routes/transfers.ts +704 -0
- package/src/apps/index.ts +1 -0
- package/src/apps/management/routes/api-keys.test.ts +98 -0
- package/src/apps/management/routes/api-keys.ts +96 -1
- package/src/apps/mcp.test.ts +17 -2
- package/src/apps/mcp.ts +18 -13
- package/src/apps/metadata.ts +12 -0
- package/src/apps/mpp/internal/Policy.test.ts +7 -1
- package/src/cloudflare.ts +279 -0
- package/src/db/Db.ts +71 -0
- package/src/db/Schema.ts +24 -0
- package/src/db/tables/fundingDepositAddresses.ts +28 -0
- package/src/db/tables/fundingDepositRequestObservations.test.ts +106 -0
- package/src/db/tables/fundingDepositRequestObservations.ts +99 -0
- package/src/db/tables/fundingDeposits.test.ts +239 -0
- package/src/db/tables/fundingDeposits.ts +214 -1
- package/src/internal/Auth.test.ts +205 -5
- package/src/internal/Auth.ts +63 -19
- package/src/internal/Cache.test.ts +37 -3
- package/src/internal/Cache.ts +1 -1
- package/src/internal/EdgeCache.test.ts +7 -7
- package/src/internal/EdgeCache.ts +13 -4
- package/src/internal/IpAllowlist.test.ts +52 -0
- package/src/internal/IpAllowlist.ts +39 -0
- package/src/internal/Log.test.ts +7 -1
- package/src/internal/OpenApi.ts +1 -1
- package/src/internal/Tidx.test.ts +28 -0
- package/src/internal/Tidx.ts +19 -3
- package/src/internal/Viem.test.ts +28 -0
- package/src/internal/Viem.ts +21 -5
- package/src/internal/funding/Deposit.ts +74 -5
- package/src/internal/funding/Evidence.test.ts +2 -2
- package/src/internal/funding/Evidence.ts +4 -9
- package/src/internal/funding/Provider.ts +115 -0
- package/src/internal/funding/Reconciliation.local.test.ts +7 -0
- package/src/internal/funding/Reconciliation.test.ts +1364 -109
- package/src/internal/funding/Reconciliation.ts +467 -88
- package/src/internal/funding/SourceObservation.test.ts +301 -0
- package/src/internal/funding/SourceObservation.ts +267 -0
- package/src/internal/funding/Subsidy.ts +2 -2
- package/src/internal/funding/index.test.ts +1 -0
- package/src/internal/funding/index.ts +1 -0
- package/src/internal/funding/providers/relay.test.ts +94 -4
- package/src/internal/funding/providers/relay.ts +533 -27
- package/dist/apps/data/routes/funding.d.ts.map +0 -1
- package/dist/apps/data/routes/funding.js +0 -1557
- package/dist/apps/data/routes/funding.js.map +0 -1
- package/src/apps/data/routes/funding.test.ts +0 -2994
- package/src/apps/data/routes/funding.ts +0 -1821
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../../../../src/internal/funding/providers/relay.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relay.js","sourceRoot":"","sources":["../../../../src/internal/funding/providers/relay.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tapimo",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.9.0",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"bin": {
|
|
@@ -21,14 +21,14 @@
|
|
|
21
21
|
"incur": "^0.4.19",
|
|
22
22
|
"jose": "^6.2.3",
|
|
23
23
|
"kysely": "^0.29.2",
|
|
24
|
-
"mppx": "
|
|
24
|
+
"mppx": "^0.8.15",
|
|
25
25
|
"nanoid": "^5.1.11",
|
|
26
26
|
"ox": "0.14.33",
|
|
27
27
|
"pg": "^8.22.0",
|
|
28
28
|
"stripe": "^19.1.0",
|
|
29
29
|
"tidx.ts": "^0.1.2",
|
|
30
30
|
"viem": "2.55.10",
|
|
31
|
-
"vocs": "^2.
|
|
31
|
+
"vocs": "^2.8.3",
|
|
32
32
|
"zod": "^4.4.3"
|
|
33
33
|
},
|
|
34
34
|
"sideEffects": false,
|
package/src/ApiKey.test.ts
CHANGED
|
@@ -10,6 +10,7 @@ describe('schema.ApiKey', () => {
|
|
|
10
10
|
scopes: ['data:read'],
|
|
11
11
|
})
|
|
12
12
|
expect(parsed.environment).toMatchInlineSnapshot(`"production"`)
|
|
13
|
+
expect(parsed.allowedIps).toEqual([])
|
|
13
14
|
})
|
|
14
15
|
|
|
15
16
|
test('accepts an explicit sandbox environment', () => {
|
|
@@ -32,6 +33,40 @@ describe('schema.ApiKey', () => {
|
|
|
32
33
|
}).success,
|
|
33
34
|
).toBe(false)
|
|
34
35
|
})
|
|
36
|
+
|
|
37
|
+
test('accepts exact IP and CIDR allowlist rules', () => {
|
|
38
|
+
const parsed = ApiKey.schema.ApiKey.parse({
|
|
39
|
+
allowedIps: ['203.0.113.7', '203.0.113.0/24', '2001:db8::/32'],
|
|
40
|
+
id: 'key_test',
|
|
41
|
+
orgId: 'org_test',
|
|
42
|
+
scopes: ['data:read'],
|
|
43
|
+
})
|
|
44
|
+
expect(parsed.allowedIps).toEqual(['203.0.113.7', '203.0.113.0/24', '2001:db8::/32'])
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
test.each(['203.0.113.0/33', '2001:db8::/129', '*', 'not-an-ip'])(
|
|
48
|
+
'rejects invalid allowlist rule %s',
|
|
49
|
+
(rule) => {
|
|
50
|
+
expect(
|
|
51
|
+
ApiKey.schema.ApiKey.safeParse({
|
|
52
|
+
allowedIps: [rule],
|
|
53
|
+
id: 'key_test',
|
|
54
|
+
orgId: 'org_test',
|
|
55
|
+
scopes: ['data:read'],
|
|
56
|
+
}).success,
|
|
57
|
+
).toBe(false)
|
|
58
|
+
},
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
test('accepts 100 allowlist rules and rejects 101', () => {
|
|
62
|
+
const base = { id: 'key_test', orgId: 'org_test', scopes: ['data:read'] }
|
|
63
|
+
const rules = Array.from({ length: 101 }, (_, index) => `203.0.113.${index}`)
|
|
64
|
+
|
|
65
|
+
expect(
|
|
66
|
+
ApiKey.schema.ApiKey.safeParse({ ...base, allowedIps: rules.slice(0, 100) }).success,
|
|
67
|
+
).toBe(true)
|
|
68
|
+
expect(ApiKey.schema.ApiKey.safeParse({ ...base, allowedIps: rules }).success).toBe(false)
|
|
69
|
+
})
|
|
35
70
|
})
|
|
36
71
|
|
|
37
72
|
describe('redact', () => {
|
package/src/ApiKey.ts
CHANGED
|
@@ -15,10 +15,29 @@ import { Hash, Hex } from 'ox'
|
|
|
15
15
|
import * as z from 'zod/mini'
|
|
16
16
|
|
|
17
17
|
import * as Id from './internal/Id.js'
|
|
18
|
+
import * as IpAllowlist from './internal/IpAllowlist.js'
|
|
18
19
|
import * as RateLimit from './internal/RateLimit.js'
|
|
19
20
|
|
|
20
21
|
/** Zod schemas owned by the API-key module. */
|
|
21
22
|
export namespace schema {
|
|
23
|
+
/** Client IP/CIDR rules restricting where a key may be used. */
|
|
24
|
+
export const AllowedIps = z
|
|
25
|
+
.readonly(
|
|
26
|
+
z.array(
|
|
27
|
+
z
|
|
28
|
+
.string()
|
|
29
|
+
.check(
|
|
30
|
+
z.maxLength(64),
|
|
31
|
+
z.refine(IpAllowlist.isRule),
|
|
32
|
+
z.describe('An exact IPv4/IPv6 address or CIDR range.'),
|
|
33
|
+
),
|
|
34
|
+
),
|
|
35
|
+
)
|
|
36
|
+
.check(
|
|
37
|
+
z.maxLength(100),
|
|
38
|
+
z.describe('Client IP addresses and CIDR ranges restricting where a key may be used.'),
|
|
39
|
+
)
|
|
40
|
+
|
|
22
41
|
/**
|
|
23
42
|
* Canonical schema for resolved API-key metadata, and the single source of
|
|
24
43
|
* truth for the {@link ApiKey} type. `ApiKeys` derives its persisted
|
|
@@ -26,6 +45,14 @@ export namespace schema {
|
|
|
26
45
|
* persisted shapes cannot drift.
|
|
27
46
|
*/
|
|
28
47
|
export const ApiKey = z.object({
|
|
48
|
+
allowedIps: z
|
|
49
|
+
._default(AllowedIps, [])
|
|
50
|
+
.check(
|
|
51
|
+
z.describe(
|
|
52
|
+
'Client IP addresses and CIDR ranges allowed to use this key. An empty list means unrestricted access.',
|
|
53
|
+
),
|
|
54
|
+
z.meta({ examples: [['203.0.113.0/24', '2001:db8::1']] }),
|
|
55
|
+
),
|
|
29
56
|
billingActive: z
|
|
30
57
|
.optional(z.boolean())
|
|
31
58
|
.check(
|
package/src/ApiKeys.test.ts
CHANGED
|
@@ -73,6 +73,7 @@ describe('mint', () => {
|
|
|
73
73
|
expect(record.tokenLast4).toBe(token.slice(-4))
|
|
74
74
|
expect({ ...record, id: '<id>', tokenLast4: '<last4>' }).toMatchInlineSnapshot(`
|
|
75
75
|
{
|
|
76
|
+
"allowedIps": [],
|
|
76
77
|
"createdAt": "2026-01-01T00:00:00.000Z",
|
|
77
78
|
"createdBy": "admin@tempo.xyz",
|
|
78
79
|
"environment": "production",
|
|
@@ -283,6 +284,34 @@ describe('update', () => {
|
|
|
283
284
|
expect(await ApiKeys.update(state, 'key_missing', { projectId: 'prj_x' })).toBeNull()
|
|
284
285
|
expect(await ApiKeys.attribute(state, 'key_missing', { projectId: 'prj_x' })).toBeNull()
|
|
285
286
|
})
|
|
287
|
+
|
|
288
|
+
test('replaces and clears the IP allowlist without changing the token', async () => {
|
|
289
|
+
const state = Store.memory()
|
|
290
|
+
const { record, token } = await ApiKeys.mint(state, {
|
|
291
|
+
allowedIps: ['203.0.113.0/24'],
|
|
292
|
+
orgId: 'org_a',
|
|
293
|
+
scopes: ['data:read'],
|
|
294
|
+
})
|
|
295
|
+
|
|
296
|
+
const updated = await ApiKeys.update(state, record.id, {
|
|
297
|
+
allowedIps: ['2001:db8::/32'],
|
|
298
|
+
})
|
|
299
|
+
expect(updated?.allowedIps).toEqual(['2001:db8::/32'])
|
|
300
|
+
expect((await ApiKeys.resolve(state, token))?.allowedIps).toEqual(['2001:db8::/32'])
|
|
301
|
+
|
|
302
|
+
const cleared = await ApiKeys.update(state, record.id, { allowedIps: [] })
|
|
303
|
+
expect(cleared?.allowedIps).toEqual([])
|
|
304
|
+
expect((await ApiKeys.resolve(state, token))?.allowedIps).toEqual([])
|
|
305
|
+
})
|
|
306
|
+
|
|
307
|
+
test('rejects invalid IP allowlist rules at the write boundary', async () => {
|
|
308
|
+
const state = Store.memory()
|
|
309
|
+
const { record } = await ApiKeys.mint(state, { orgId: 'org_a', scopes: ['data:read'] })
|
|
310
|
+
|
|
311
|
+
await expect(
|
|
312
|
+
ApiKeys.update(state, record.id, { allowedIps: ['203.0.113.0/33'] }),
|
|
313
|
+
).rejects.toThrowError(/invalid API key input/)
|
|
314
|
+
})
|
|
286
315
|
})
|
|
287
316
|
|
|
288
317
|
describe('setBillingActive', () => {
|
package/src/ApiKeys.ts
CHANGED
|
@@ -97,6 +97,7 @@ export async function mint(
|
|
|
97
97
|
const recordKey = ApiKey.keyFor(token)
|
|
98
98
|
const id = ApiKey.generateId()
|
|
99
99
|
const record: Record = {
|
|
100
|
+
allowedIps: data.allowedIps,
|
|
100
101
|
createdAt: time.toISOString(),
|
|
101
102
|
environment: data.environment,
|
|
102
103
|
id,
|
|
@@ -291,8 +292,8 @@ export async function revoke(state: Store.State, id: string): Promise<boolean> {
|
|
|
291
292
|
}
|
|
292
293
|
|
|
293
294
|
/**
|
|
294
|
-
* Updates a key's display name and attribution, rewriting its
|
|
295
|
-
*
|
|
295
|
+
* Updates a key's IP allowlist, display name, and attribution, rewriting its
|
|
296
|
+
* record in place and moving the org index entry when the org changes.
|
|
296
297
|
*
|
|
297
298
|
* @param state - The KV state store holding key records.
|
|
298
299
|
* @param id - The key id (`key_…`).
|
|
@@ -306,6 +307,10 @@ export async function update(
|
|
|
306
307
|
input: update.Input,
|
|
307
308
|
options: update.Options = {},
|
|
308
309
|
): Promise<Record | null> {
|
|
310
|
+
if (input.allowedIps !== undefined) {
|
|
311
|
+
const valid = ApiKey.schema.AllowedIps.safeParse(input.allowedIps)
|
|
312
|
+
if (!valid.success) throw new Error(`invalid API key input: ${z.prettifyError(valid.error)}`)
|
|
313
|
+
}
|
|
309
314
|
const recordKey = await state.get(idKeyFor(id))
|
|
310
315
|
if (!recordKey) return null
|
|
311
316
|
const record = await read(state, recordKey, Date.now(), options.scopeCatalog ?? Scope.catalog)
|
|
@@ -313,6 +318,7 @@ export async function update(
|
|
|
313
318
|
|
|
314
319
|
const updated: Record = {
|
|
315
320
|
...record,
|
|
321
|
+
...(input.allowedIps === undefined ? {} : { allowedIps: input.allowedIps }),
|
|
316
322
|
...(input.name === undefined ? {} : { name: input.name }),
|
|
317
323
|
...(input.orgId === undefined ? {} : { orgId: input.orgId }),
|
|
318
324
|
...(input.projectId === undefined ? {} : { projectId: input.projectId }),
|
|
@@ -330,6 +336,8 @@ export async function update(
|
|
|
330
336
|
export declare namespace update {
|
|
331
337
|
/** Metadata applied by {@link update}; omitted fields keep their current value. */
|
|
332
338
|
type Input = {
|
|
339
|
+
/** Replacement client IP/CIDR allowlist. An empty list clears the restriction. */
|
|
340
|
+
allowedIps?: readonly string[] | undefined
|
|
333
341
|
/** New human-readable key name. */
|
|
334
342
|
name?: string | undefined
|
|
335
343
|
/** New owning organization id (`org_…`). */
|
|
@@ -338,7 +346,7 @@ export declare namespace update {
|
|
|
338
346
|
projectId?: string | undefined
|
|
339
347
|
}
|
|
340
348
|
|
|
341
|
-
/** Options for {@link
|
|
349
|
+
/** Options for {@link update}. */
|
|
342
350
|
type Options = {
|
|
343
351
|
/** Scope catalog accepted while reading the key. */
|
|
344
352
|
scopeCatalog?: Scope.Catalog | undefined
|
package/src/App.test.ts
CHANGED
|
@@ -265,6 +265,38 @@ describe('create', () => {
|
|
|
265
265
|
expect(response.headers.get('RateLimit-Scope')).toBe('mpp')
|
|
266
266
|
})
|
|
267
267
|
|
|
268
|
+
test('rejects an unsupported MPP payment chain without throwing', async () => {
|
|
269
|
+
const store = Store.memory()
|
|
270
|
+
const limit = { perMinute: 1 }
|
|
271
|
+
const app = TestApp.create({
|
|
272
|
+
auth: {
|
|
273
|
+
mpp: {
|
|
274
|
+
secretKey: 'secret_test_key_0123456789abcdef',
|
|
275
|
+
session: {
|
|
276
|
+
chainId: Tempo.chain.id,
|
|
277
|
+
decimals: 6,
|
|
278
|
+
getClient: () => Tempo.client,
|
|
279
|
+
recipient: Tempo.accounts[2].address,
|
|
280
|
+
},
|
|
281
|
+
sessionChainIds: [Tempo.chain.id],
|
|
282
|
+
},
|
|
283
|
+
overrides: {
|
|
284
|
+
'GET /v1/tokens/:token': { public: { rateLimit: limit } },
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
rateLimit: { store },
|
|
288
|
+
supportedChainIds: [31318],
|
|
289
|
+
})
|
|
290
|
+
await exhaustQuota(RateLimit.memory({ store }), 'public:anonymous', limit)
|
|
291
|
+
|
|
292
|
+
const response = await app.request('/v1/tokens/not-an-address?chainId=31318')
|
|
293
|
+
const body = (await response.json()) as { error: { code: string } }
|
|
294
|
+
|
|
295
|
+
expect(response.status).toBe(429)
|
|
296
|
+
expect(response.headers.has('www-authenticate')).toBe(false)
|
|
297
|
+
expect(body.error.code).toBe('payment_required')
|
|
298
|
+
})
|
|
299
|
+
|
|
268
300
|
test('endpoint MPP rate limit overrides the global limit', async () => {
|
|
269
301
|
const store = Store.memory()
|
|
270
302
|
const routeLimit = { perMinute: 1 }
|
|
@@ -595,10 +627,9 @@ describe('create', () => {
|
|
|
595
627
|
})
|
|
596
628
|
})
|
|
597
629
|
|
|
598
|
-
//
|
|
599
|
-
//
|
|
600
|
-
|
|
601
|
-
test('serves repeat reads of a cacheable route from the edge cache', async () => {
|
|
630
|
+
// Credential-bearing requests must reach auth even when the route supports
|
|
631
|
+
// shared caching, so per-key policies and quotas run on every request.
|
|
632
|
+
test('bypasses edge caching for authenticated reads', async () => {
|
|
602
633
|
const app = TestApp.create()
|
|
603
634
|
const headers = { authorization: `Bearer ${TestApp.key.token}` }
|
|
604
635
|
|
|
@@ -608,10 +639,29 @@ describe('create', () => {
|
|
|
608
639
|
expect(miss.status).toMatchInlineSnapshot(`200`)
|
|
609
640
|
expect(hit.status).toMatchInlineSnapshot(`200`)
|
|
610
641
|
expect(miss.headers.has('RateLimit-Limit')).toMatchInlineSnapshot(`true`)
|
|
611
|
-
expect(hit.headers.has('RateLimit-Limit')).toMatchInlineSnapshot(`
|
|
642
|
+
expect(hit.headers.has('RateLimit-Limit')).toMatchInlineSnapshot(`true`)
|
|
612
643
|
expect(await hit.json()).toMatchObject({ address: TestApp.token })
|
|
613
644
|
})
|
|
614
645
|
|
|
646
|
+
test('enforces a key allowlist after an anonymous edge-cache hit', async () => {
|
|
647
|
+
const key = { ...TestApp.key, allowedIps: ['203.0.113.0/24'] }
|
|
648
|
+
const app = TestApp.create({ auth: { keys: [key] } })
|
|
649
|
+
|
|
650
|
+
await app.request(`/v1/tokens/${TestApp.token}`)
|
|
651
|
+
const cached = await app.request(`/v1/tokens/${TestApp.token}`)
|
|
652
|
+
const denied = await app.request(`/v1/tokens/${TestApp.token}`, {
|
|
653
|
+
headers: {
|
|
654
|
+
'cf-connecting-ip': '198.51.100.7',
|
|
655
|
+
'tempo-api-key': key.token,
|
|
656
|
+
},
|
|
657
|
+
})
|
|
658
|
+
|
|
659
|
+
expect(cached.status).toBe(200)
|
|
660
|
+
expect(cached.headers.has('RateLimit-Limit')).toBe(false)
|
|
661
|
+
expect(denied.status).toBe(403)
|
|
662
|
+
expect(await denied.json()).toMatchObject({ error: { code: 'api_key_ip_forbidden' } })
|
|
663
|
+
})
|
|
664
|
+
|
|
615
665
|
test('rejects invalid API key without falling back to public quota', async () => {
|
|
616
666
|
const app = TestApp.create()
|
|
617
667
|
const response = await app.request(`/v1/tokens/${TestApp.token}`, {
|
package/src/App.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Context } from 'hono'
|
|
2
2
|
import { Hono } from 'hono'
|
|
3
|
+
import { matchedRoutes } from 'hono/route'
|
|
3
4
|
import { compress as hono_compress } from 'hono/compress'
|
|
4
5
|
import { cors as hono_cors } from 'hono/cors'
|
|
5
6
|
import { HTTPException } from 'hono/http-exception'
|
|
@@ -31,17 +32,21 @@ import openrpcSpec from './openrpc.json' with { type: 'json' }
|
|
|
31
32
|
import * as Metadata from './apps/metadata.js'
|
|
32
33
|
import * as Zones from './apps/Zones.js'
|
|
33
34
|
import * as Data from './apps/data/App.js'
|
|
35
|
+
import * as Funding from './apps/funding/App.js'
|
|
34
36
|
import * as Management from './apps/management/App.js'
|
|
35
37
|
import * as Mpp from './apps/mpp/App.js'
|
|
36
38
|
import * as Relay from './apps/relay/App.js'
|
|
37
39
|
|
|
38
40
|
export import data = Data.data
|
|
41
|
+
export import funding = Funding.funding
|
|
39
42
|
export import management = Management.management
|
|
40
43
|
export import mpp = Mpp.mpp
|
|
41
44
|
export import relay = Relay.relay
|
|
42
45
|
|
|
43
46
|
/** The chain-data route group; see {@link data}. */
|
|
44
47
|
export type DataApp = ReturnType<typeof data>
|
|
48
|
+
/** The inbound funding route group; see {@link funding}. */
|
|
49
|
+
export type FundingApp = ReturnType<typeof funding>
|
|
45
50
|
/** The management route group; see {@link management}. */
|
|
46
51
|
export type ManagementApp = ReturnType<typeof management>
|
|
47
52
|
/** The MPP credential relay route group; see {@link mpp}. */
|
|
@@ -112,6 +117,7 @@ export function from<const app extends Hono<any, any>>(app: app, metadata: creat
|
|
|
112
117
|
function compose(options: create.Options) {
|
|
113
118
|
return create(options)
|
|
114
119
|
.route('/', data())
|
|
120
|
+
.route('/', funding())
|
|
115
121
|
.route('/', relay())
|
|
116
122
|
.route('/', mpp({ state: Store.memory() }))
|
|
117
123
|
.route('/', management())
|
|
@@ -210,6 +216,7 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
210
216
|
...(options.supportedChainIds ?? []),
|
|
211
217
|
...zones.keys(),
|
|
212
218
|
])
|
|
219
|
+
const defaultChainRouteHandlers = new Set<unknown>()
|
|
213
220
|
|
|
214
221
|
// Build the app in two phases: register middleware imperatively, then chain
|
|
215
222
|
// route mounts so the merged Hono schema flows through the return type. The
|
|
@@ -347,6 +354,43 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
347
354
|
// routes. `auth: false` leaves policies unenforced (tests only).
|
|
348
355
|
if (auth.middleware) app.use('*', auth.middleware)
|
|
349
356
|
|
|
357
|
+
// Groups marked as default-chain consumers share the root Zone and sandbox
|
|
358
|
+
// policy without inheriting another group's chain selectors.
|
|
359
|
+
app.use('*', async (c, next) => {
|
|
360
|
+
const matched = matchedRoutes(c).some((route) => defaultChainRouteHandlers.has(route.handler))
|
|
361
|
+
if (!matched) return next()
|
|
362
|
+
|
|
363
|
+
const chainId = c.get('chainId')
|
|
364
|
+
const principal = Auth.getPrincipal(c)
|
|
365
|
+
if (c.get('zones').has(chainId)) {
|
|
366
|
+
const scopes = principal?.type === 'api_key' ? principal.apiKey.scopes : undefined
|
|
367
|
+
const allowed =
|
|
368
|
+
scopes?.includes(Scope.wildcard) ||
|
|
369
|
+
scopes?.includes(`zone:${chainId}:read`) ||
|
|
370
|
+
scopes?.includes(`zone:${chainId}:write`)
|
|
371
|
+
if (!allowed)
|
|
372
|
+
return Response.error(c, {
|
|
373
|
+
code: 'api_key_forbidden',
|
|
374
|
+
message: `Chain id ${chainId} is a zone. Use an API key granting \`zone:${chainId}:read\` or \`zone:${chainId}:write\`.`,
|
|
375
|
+
status: 403,
|
|
376
|
+
})
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
if (
|
|
380
|
+
principal?.type === 'api_key' &&
|
|
381
|
+
principal.environment === 'sandbox' &&
|
|
382
|
+
Viem.isMainnet(chainId)
|
|
383
|
+
)
|
|
384
|
+
return Response.error(c, {
|
|
385
|
+
code: 'api_key_forbidden',
|
|
386
|
+
message: 'Sandbox API keys only support testnet. Pass a testnet `chainId`.',
|
|
387
|
+
status: 403,
|
|
388
|
+
})
|
|
389
|
+
|
|
390
|
+
await next()
|
|
391
|
+
if (c.get('zones').has(chainId)) c.set('edgeCache', undefined)
|
|
392
|
+
})
|
|
393
|
+
|
|
350
394
|
// Collect each mounted group's OpenAPI metadata: Hono's `.route()` drops
|
|
351
395
|
// sub-app metadata, so a group attaches it to its instance (a WeakMap) and we
|
|
352
396
|
// read it back here. Patching the runtime method, not the type, keeps `hc`.
|
|
@@ -358,6 +402,15 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
358
402
|
metadata.push(entry)
|
|
359
403
|
for (const chainId of entry.supportedChainIds ?? []) supportedChainIds.add(chainId)
|
|
360
404
|
}
|
|
405
|
+
if (Metadata.usesDefaultChain(sub))
|
|
406
|
+
for (const route of sub.routes) {
|
|
407
|
+
if (route.method === 'ALL') continue
|
|
408
|
+
defaultChainRouteHandlers.add(route.handler)
|
|
409
|
+
EdgeCache.setEligibility(
|
|
410
|
+
route.handler,
|
|
411
|
+
(c: Context<Environment>) => !c.get('zones').has(c.get('chainId')),
|
|
412
|
+
)
|
|
413
|
+
}
|
|
361
414
|
return route(path, sub)
|
|
362
415
|
}) as typeof route
|
|
363
416
|
|
|
@@ -400,7 +453,11 @@ export function create<const path extends string = '/'>(options: create.Options<
|
|
|
400
453
|
return entry ? [...metadata, entry] : metadata
|
|
401
454
|
})()
|
|
402
455
|
const contributedSchemes = Object.assign({}, ...metadata_all.map((m) => m.securitySchemes ?? {})) // prettier-ignore
|
|
403
|
-
const tags =
|
|
456
|
+
const tags = [
|
|
457
|
+
...new Map(
|
|
458
|
+
metadata_all.flatMap((m) => (m.tags ?? []).map((tag) => [tag.name, tag] as const)),
|
|
459
|
+
).values(),
|
|
460
|
+
]
|
|
404
461
|
// Tag groups contributed under the same name merge into one sidebar group,
|
|
405
462
|
// deduped and filtered to defined tags (a group may list a tag another
|
|
406
463
|
// surface defines, e.g. `Auth` from the built-in session surface).
|
|
@@ -644,6 +701,10 @@ export declare namespace create {
|
|
|
644
701
|
description: string
|
|
645
702
|
/** Tag name referenced by operations. */
|
|
646
703
|
name: string
|
|
704
|
+
/** Optional human-readable label for references that support `x-displayName`. */
|
|
705
|
+
'x-displayName'?: string | undefined
|
|
706
|
+
/** Optional page path below the reference mount. */
|
|
707
|
+
'x-pagePath'?: string | undefined
|
|
647
708
|
}
|
|
648
709
|
|
|
649
710
|
/** One Vocs OpenAPI tag group. */
|
|
@@ -701,8 +762,15 @@ namespace OpenApiDocument {
|
|
|
701
762
|
// 1 item (`GET`+`PATCH`+`DELETE /webhooks/{id}`) → "Get, Update, Delete"
|
|
702
763
|
// 2 other list-only paths (`/event-types`, `/deliveries`)
|
|
703
764
|
// 3 other writes/actions (`POST .../ping`, `.../retry`)
|
|
704
|
-
//
|
|
705
|
-
|
|
765
|
+
// Funding deposit paths preserve their resource-specific sidebar order.
|
|
766
|
+
const fundingDepositOperationOrder = [
|
|
767
|
+
'createFundingDepositAddress',
|
|
768
|
+
'reconcileFundingDepositAddress',
|
|
769
|
+
'getFundingDepositAddress',
|
|
770
|
+
'getFundingDeposit',
|
|
771
|
+
'listFundingDeposits',
|
|
772
|
+
] as const
|
|
773
|
+
|
|
706
774
|
export function sortPaths(paths: PathsObject): PathsObject {
|
|
707
775
|
const entries = Object.entries(paths)
|
|
708
776
|
const rank = (entry: [string, PathItem]) => {
|
|
@@ -717,7 +785,13 @@ namespace OpenApiDocument {
|
|
|
717
785
|
if (has('List')) return 2
|
|
718
786
|
return 3
|
|
719
787
|
}
|
|
720
|
-
if (operations.some((op) => isOperation(op) && op.tags?.includes('
|
|
788
|
+
if (operations.some((op) => isOperation(op) && op.tags?.includes('Deposit Addresses'))) {
|
|
789
|
+
const index = fundingDepositOperationOrder.findIndex((operationId) =>
|
|
790
|
+
operations.some((op) => isOperation(op) && op.operationId === operationId),
|
|
791
|
+
)
|
|
792
|
+
if (index >= 0) return index
|
|
793
|
+
}
|
|
794
|
+
if (/\/v1\/funding(?:\/|$)/.test(entry[0])) {
|
|
721
795
|
if (has('Create')) return 1
|
|
722
796
|
if (has('Get transfer')) return 2
|
|
723
797
|
return 0
|
|
@@ -781,7 +855,7 @@ namespace OpenApiDocument {
|
|
|
781
855
|
|
|
782
856
|
type PathsObject = Awaited<ReturnType<typeof generateSpecs>>['paths']
|
|
783
857
|
type PathItem = PathsObject[string]
|
|
784
|
-
type Operation = { summary?: string | undefined }
|
|
858
|
+
type Operation = { operationId?: string | undefined; summary?: string | undefined }
|
|
785
859
|
type MutableOperation = {
|
|
786
860
|
operationId: string
|
|
787
861
|
responses?: Record<string, unknown> | undefined
|