tapimo 0.0.1 → 0.1.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 +13 -3
- package/dist/ApiKey.d.ts +12 -11
- package/dist/ApiKey.d.ts.map +1 -1
- package/dist/ApiKey.js +10 -12
- package/dist/ApiKey.js.map +1 -1
- package/dist/ApiKeys.d.ts +139 -0
- package/dist/ApiKeys.d.ts.map +1 -0
- package/dist/ApiKeys.js +166 -0
- package/dist/ApiKeys.js.map +1 -0
- package/dist/App.d.ts +920 -910
- package/dist/App.d.ts.map +1 -1
- package/dist/App.js +36 -12
- package/dist/App.js.map +1 -1
- package/dist/Handler.d.ts +86 -0
- package/dist/Handler.d.ts.map +1 -0
- package/dist/Handler.js +83 -0
- package/dist/Handler.js.map +1 -0
- package/dist/Scope.d.ts +4 -1
- package/dist/Scope.d.ts.map +1 -1
- package/dist/Scope.js +5 -1
- package/dist/Scope.js.map +1 -1
- package/dist/Webhooks.d.ts +3 -5
- package/dist/Webhooks.d.ts.map +1 -1
- package/dist/Webhooks.js +9 -2
- package/dist/Webhooks.js.map +1 -1
- package/dist/admin/Access.d.ts +1 -3
- package/dist/admin/Access.d.ts.map +1 -1
- package/dist/admin/Access.js +1 -3
- package/dist/admin/Access.js.map +1 -1
- package/dist/admin/App.d.ts +49 -160
- package/dist/admin/App.d.ts.map +1 -1
- package/dist/admin/App.js +2 -4
- package/dist/admin/App.js.map +1 -1
- package/dist/admin/apps/api-keys.d.ts +7 -5
- package/dist/admin/apps/api-keys.d.ts.map +1 -1
- package/dist/admin/apps/api-keys.js +8 -9
- package/dist/admin/apps/api-keys.js.map +1 -1
- package/dist/admin/apps/scopes.d.ts +3 -0
- package/dist/admin/apps/scopes.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.d.ts +101 -215
- package/dist/admin/apps/verified-tokens.d.ts.map +1 -1
- package/dist/admin/apps/verified-tokens.js +17 -38
- package/dist/admin/apps/verified-tokens.js.map +1 -1
- package/dist/admin/ui.generated.d.ts +1 -1
- package/dist/admin/ui.generated.js +13 -13
- package/dist/admin/ui.generated.js.map +1 -1
- package/dist/apps/balances.d.ts +43 -43
- package/dist/apps/coingecko.d.ts +176 -176
- package/dist/apps/coingecko.js +1 -1
- package/dist/apps/coingecko.js.map +1 -1
- package/dist/apps/receipts.d.ts +43 -43
- package/dist/apps/tokenlist.d.ts +36 -36
- package/dist/apps/tokens.d.ts +454 -454
- package/dist/apps/transactions.d.ts +43 -43
- package/dist/apps/transfers.d.ts +29 -29
- package/dist/apps/webhooks.d.ts +5 -2
- package/dist/apps/webhooks.d.ts.map +1 -1
- package/dist/apps/webhooks.js +38 -34
- package/dist/apps/webhooks.js.map +1 -1
- package/dist/{Cli.d.ts → cli/Cli.d.ts} +13 -2
- package/dist/cli/Cli.d.ts.map +1 -0
- package/dist/cli/Cli.js +19 -0
- package/dist/cli/Cli.js.map +1 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +4 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/commands/admin.d.ts +15 -0
- package/dist/cli/commands/admin.d.ts.map +1 -0
- package/dist/cli/commands/admin.js +60 -0
- package/dist/cli/commands/admin.js.map +1 -0
- package/dist/cloudflare.d.ts +7 -0
- package/dist/cloudflare.d.ts.map +1 -1
- package/dist/cloudflare.js +9 -0
- package/dist/cloudflare.js.map +1 -1
- package/dist/db/Db.d.ts +103 -0
- package/dist/db/Db.d.ts.map +1 -0
- package/dist/db/Db.js +274 -0
- package/dist/db/Db.js.map +1 -0
- package/dist/db/Schema.d.ts +88 -0
- package/dist/db/Schema.d.ts.map +1 -0
- package/dist/db/Schema.js +130 -0
- package/dist/db/Schema.js.map +1 -0
- package/dist/db/tables/organizations.d.ts +79 -0
- package/dist/db/tables/organizations.d.ts.map +1 -0
- package/dist/db/tables/organizations.js +81 -0
- package/dist/db/tables/organizations.js.map +1 -0
- package/dist/db/tables/verifiedTokens.d.ts +53 -0
- package/dist/db/tables/verifiedTokens.d.ts.map +1 -0
- package/dist/db/tables/verifiedTokens.js +74 -0
- package/dist/db/tables/verifiedTokens.js.map +1 -0
- package/dist/db/tables/webhookDeliveries.d.ts +71 -0
- package/dist/db/tables/webhookDeliveries.d.ts.map +1 -0
- package/dist/db/tables/webhookDeliveries.js +119 -0
- package/dist/db/tables/webhookDeliveries.js.map +1 -0
- package/dist/db/tables/webhookSubscriptions.d.ts +158 -0
- package/dist/db/tables/webhookSubscriptions.d.ts.map +1 -0
- package/dist/db/tables/webhookSubscriptions.js +272 -0
- package/dist/db/tables/webhookSubscriptions.js.map +1 -0
- package/dist/handlers/internal/executionError.d.ts +25 -0
- package/dist/handlers/internal/executionError.d.ts.map +1 -0
- package/dist/handlers/internal/executionError.js +184 -0
- package/dist/handlers/internal/executionError.js.map +1 -0
- package/dist/handlers/internal/multisig.d.ts +237 -0
- package/dist/handlers/internal/multisig.d.ts.map +1 -0
- package/dist/handlers/internal/multisig.js +567 -0
- package/dist/handlers/internal/multisig.js.map +1 -0
- package/dist/handlers/internal/requestListener.d.ts +124 -0
- package/dist/handlers/internal/requestListener.d.ts.map +1 -0
- package/dist/handlers/internal/requestListener.js +173 -0
- package/dist/handlers/internal/requestListener.js.map +1 -0
- package/dist/handlers/internal/sponsorship.d.ts +83 -0
- package/dist/handlers/internal/sponsorship.d.ts.map +1 -0
- package/dist/handlers/internal/sponsorship.js +103 -0
- package/dist/handlers/internal/sponsorship.js.map +1 -0
- package/dist/handlers/internal/types.d.ts +284 -0
- package/dist/handlers/internal/types.d.ts.map +1 -0
- package/dist/handlers/internal/types.js +2 -0
- package/dist/handlers/internal/types.js.map +1 -0
- package/dist/handlers/internal/utils.d.ts +34 -0
- package/dist/handlers/internal/utils.d.ts.map +1 -0
- package/dist/handlers/internal/utils.js +131 -0
- package/dist/handlers/internal/utils.js.map +1 -0
- package/dist/handlers/relay.d.ts +119 -0
- package/dist/handlers/relay.d.ts.map +1 -0
- package/dist/handlers/relay.js +1264 -0
- package/dist/handlers/relay.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/Auth.d.ts +16 -10
- package/dist/internal/Auth.d.ts.map +1 -1
- package/dist/internal/Auth.js +78 -13
- package/dist/internal/Auth.js.map +1 -1
- package/dist/internal/RpcSchema.d.ts +10 -0
- package/dist/internal/RpcSchema.d.ts.map +1 -0
- package/dist/internal/RpcSchema.js +2 -0
- package/dist/internal/RpcSchema.js.map +1 -0
- package/dist/internal/Store.d.ts +42 -3
- package/dist/internal/Store.d.ts.map +1 -1
- package/dist/internal/Store.js +87 -8
- package/dist/internal/Store.js.map +1 -1
- package/dist/internal/VerifiedTokens.d.ts +15 -34
- package/dist/internal/VerifiedTokens.d.ts.map +1 -1
- package/dist/internal/VerifiedTokens.js +115 -159
- package/dist/internal/VerifiedTokens.js.map +1 -1
- package/dist/internal/Viem.d.ts +81 -7
- package/dist/internal/Viem.d.ts.map +1 -1
- package/dist/internal/Webhooks.d.ts +49 -35
- package/dist/internal/Webhooks.d.ts.map +1 -1
- package/dist/internal/Webhooks.js +92 -205
- package/dist/internal/Webhooks.js.map +1 -1
- package/package.json +10 -5
- package/src/ApiKey.test.ts +3 -3
- package/src/ApiKey.ts +10 -12
- package/src/ApiKeys.test.ts +175 -0
- package/src/ApiKeys.ts +205 -0
- package/src/App.test-d.ts +1 -1
- package/src/App.test.ts +10768 -351
- package/src/App.ts +79 -36
- package/src/Client.test-d.ts +1 -1
- package/src/Handler.ts +154 -0
- package/src/Scope.ts +5 -1
- package/src/Webhooks.test.ts +8 -7
- package/src/Webhooks.ts +11 -5
- package/src/admin/Access.ts +1 -3
- package/src/admin/App.ts +19 -24
- package/src/admin/apps/api-keys.test.ts +19 -18
- package/src/admin/apps/api-keys.ts +8 -9
- package/src/admin/apps/scopes.test.ts +4 -0
- package/src/admin/apps/verified-tokens.test.ts +3 -30
- package/src/admin/apps/verified-tokens.ts +17 -36
- package/src/admin/ui.generated.ts +13 -13
- package/src/apps/balances.test.ts +4 -3
- package/src/apps/blocks.test.ts +1 -1
- package/src/apps/coingecko.ts +1 -1
- package/src/apps/exchanges.test.ts +1 -1
- package/src/apps/indexer.test.ts +2 -2
- package/src/apps/receipts.test.ts +1 -1
- package/src/apps/rpc.test.ts +100 -10
- package/src/apps/tokenlist.test.ts +5 -7
- package/src/apps/tokens.test.ts +4 -3
- package/src/apps/transactions.test.ts +1 -1
- package/src/apps/transfers.test.ts +1 -1
- package/src/apps/verified-tokens.test.ts +24 -12
- package/src/apps/webhooks.test.ts +131 -144
- package/src/apps/webhooks.ts +45 -47
- package/src/{Cli.test.ts → cli/Cli.test.ts} +10 -9
- package/src/{Cli.ts → cli/Cli.ts} +16 -9
- package/src/cli/bin.ts +4 -0
- package/src/cli/commands/admin.test.ts +71 -0
- package/src/cli/commands/admin.ts +60 -0
- package/src/cloudflare.ts +10 -0
- package/src/db/Db.test.ts +84 -0
- package/src/db/Db.ts +383 -0
- package/src/db/Schema.ts +164 -0
- package/src/db/tables/organizations.test.ts +124 -0
- package/src/db/tables/organizations.ts +127 -0
- package/src/db/tables/verifiedTokens.ts +111 -0
- package/src/db/tables/webhookDeliveries.ts +159 -0
- package/src/db/tables/webhookSubscriptions.ts +358 -0
- package/src/handlers/internal/executionError.ts +205 -0
- package/src/handlers/internal/multisig.localnet.test.ts +146 -0
- package/src/handlers/internal/multisig.test.ts +744 -0
- package/src/handlers/internal/multisig.ts +858 -0
- package/src/handlers/internal/relay.localnet.test.ts +2035 -0
- package/src/handlers/internal/requestListener.ts +273 -0
- package/src/handlers/internal/sponsorship.ts +186 -0
- package/src/handlers/internal/types.ts +378 -0
- package/src/handlers/internal/utils.ts +153 -0
- package/src/handlers/relay.ts +1605 -0
- package/src/index.ts +4 -2
- package/src/internal/Auth.test.ts +78 -20
- package/src/internal/Auth.ts +98 -20
- package/src/internal/RateLimit.test.ts +1 -1
- package/src/internal/RpcSchema.ts +10 -0
- package/src/internal/Store.test.ts +179 -7
- package/src/internal/Store.ts +136 -11
- package/src/internal/VerifiedTokens.test.ts +99 -115
- package/src/internal/VerifiedTokens.ts +123 -175
- package/src/internal/Viem.ts +2 -1
- package/src/internal/Webhooks.test.ts +107 -107
- package/src/internal/Webhooks.ts +102 -220
- package/dist/ApiKeySource.d.ts +0 -166
- package/dist/ApiKeySource.d.ts.map +0 -1
- package/dist/ApiKeySource.js +0 -234
- package/dist/ApiKeySource.js.map +0 -1
- package/dist/Cli.d.ts.map +0 -1
- package/dist/Cli.js +0 -13
- package/dist/Cli.js.map +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000000.svg +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000001.svg +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000002.svg +0 -1
- package/seeds/31318/icons/0x20c0000000000000000000000000000000000003.svg +0 -1
- package/seeds/31318/verified-tokens.json +0 -30
- package/seeds/4217/icons/0x20c0000000000000000000000000000000000000.svg +0 -25
- package/seeds/4217/icons/0x20c000000000000000000000048c8f36df1c9a4a.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000000520792dcccccccc.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000000a6da882d075a4c3.svg +0 -4
- package/seeds/4217/icons/0x20c000000000000000000000111111111e910f0f.svg +0 -30
- package/seeds/4217/icons/0x20c00000000000000000000014f22ca97301eb73.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000001621e21f71cf12fb.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000002f52d5cc21a3207b.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000003158081efd85bfc2.svg +0 -11
- package/seeds/4217/icons/0x20c0000000000000000000003554d28269e0f3c2.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000383a23bacb546ab9.svg +0 -1
- package/seeds/4217/icons/0x20c00000000000000000000042109aef2f8b28e1.png +0 -0
- package/seeds/4217/icons/0x20c0000000000000000000005c0bac7cef389a11.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000006fd9a167923ba194.png +0 -0
- package/seeds/4217/icons/0x20c0000000000000000000007f7ba549dd0251b9.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000008191667423f70e67.svg +0 -5
- package/seeds/4217/icons/0x20c0000000000000000000008ee4fcff88888888.svg +0 -1
- package/seeds/4217/icons/0x20c0000000000000000000009a4a4b17e0dc6651.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000ab02d39df30bd17e.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000ae247a1130450f09.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000aeed2ec36a54d0e5.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000b9537d11c60e8b50.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000bd95bfb69fbe6ce3.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000c412ec89d0c08be5.svg +0 -1
- package/seeds/4217/icons/0x20c000000000000000000000f047dd7018e50367.png +0 -0
- package/seeds/4217/verified-tokens.json +0 -177
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000000.svg +0 -25
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000001.svg +0 -1
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000002.svg +0 -1
- package/seeds/42431/icons/0x20c0000000000000000000000000000000000003.svg +0 -1
- package/seeds/42431/icons/0x20c0000000000000000000009e8d7eb59b783726.svg +0 -1
- package/seeds/42431/icons/0x20c000000000000000000000d72572838bbee59c.svg +0 -1
- package/seeds/42431/verified-tokens.json +0 -44
- package/seeds/openrpc/README.md +0 -27
- package/seeds/openrpc/execution-apis.json +0 -8989
- package/src/ApiKeySource.test-d.ts +0 -11
- package/src/ApiKeySource.test.ts +0 -295
- package/src/ApiKeySource.ts +0 -303
package/dist/Webhooks.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import * as AppWebhooks from './apps/webhooks.js';
|
|
2
|
+
import * as Db from './db/Db.js';
|
|
2
3
|
import * as MetricSink from './internal/MetricSink.js';
|
|
4
|
+
import * as Store from './internal/Store.js';
|
|
3
5
|
import * as Tidx from './internal/Tidx.js';
|
|
4
6
|
import * as Viem from './internal/Viem.js';
|
|
5
7
|
// Re-export the runtime-agnostic primitives (subscriptions, signing, delivery,
|
|
@@ -30,7 +32,9 @@ export { eventTypes, schema } from './apps/webhooks.js';
|
|
|
30
32
|
* request state.
|
|
31
33
|
*/
|
|
32
34
|
export function createPoller(options) {
|
|
33
|
-
|
|
35
|
+
// Persistent memoize cache for token metadata, shared across ticks (the
|
|
36
|
+
// webhook state store used to double-duty as this cache).
|
|
37
|
+
const cache = Store.memory();
|
|
34
38
|
const getTidx = options.tidx
|
|
35
39
|
? Tidx.createGetClient({ defaultChainId: options.defaultChainId, tidx: options.tidx })
|
|
36
40
|
: undefined;
|
|
@@ -70,9 +74,13 @@ export function createPoller(options) {
|
|
|
70
74
|
try {
|
|
71
75
|
const result = await AppWebhooks.poll({
|
|
72
76
|
batchSize: input.batchSize ?? options.batchSize,
|
|
77
|
+
cache,
|
|
73
78
|
chainId,
|
|
74
79
|
client: getClient(chainId),
|
|
75
80
|
confirmations: input.confirmations ?? options.confirmations,
|
|
81
|
+
// Resolve per tick so Workers factories build a fresh
|
|
82
|
+
// Hyperdrive-pooled connection each run.
|
|
83
|
+
db: Db.get(options.db),
|
|
76
84
|
dispatch,
|
|
77
85
|
eventTypes: input.eventTypes ?? options.eventTypes,
|
|
78
86
|
...(input.headBlockNumber === undefined
|
|
@@ -80,7 +88,6 @@ export function createPoller(options) {
|
|
|
80
88
|
: { headBlockNumber: input.headBlockNumber }),
|
|
81
89
|
maxBlocks: input.maxBlocks ?? options.maxBlocks,
|
|
82
90
|
now: input.now ?? options.now,
|
|
83
|
-
store,
|
|
84
91
|
...(getTidx ? { tidx: getTidx(chainId) } : {}),
|
|
85
92
|
});
|
|
86
93
|
metrics?.record({
|
package/dist/Webhooks.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Webhooks.js","sourceRoot":"","sources":["../src/Webhooks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,UAAU,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"Webhooks.js","sourceRoot":"","sources":["../src/Webhooks.ts"],"names":[],"mappings":"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"}
|
package/dist/admin/Access.d.ts
CHANGED
|
@@ -20,10 +20,8 @@ import type * as App from './App.js';
|
|
|
20
20
|
* ```ts
|
|
21
21
|
* import { App, Access } from 'tapimo/admin'
|
|
22
22
|
*
|
|
23
|
-
* const source = {} as App.create.Options['apiKey']['source']
|
|
24
|
-
*
|
|
25
23
|
* App.create({
|
|
26
|
-
*
|
|
24
|
+
* // ...
|
|
27
25
|
* identify: Access.cloudflareAccess({
|
|
28
26
|
* teamDomain: 'https://tempo.cloudflareaccess.com',
|
|
29
27
|
* }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Access.d.ts","sourceRoot":"","sources":["../../src/admin/Access.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAOpC
|
|
1
|
+
{"version":3,"file":"Access.d.ts","sourceRoot":"","sources":["../../src/admin/Access.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,KAAK,GAAG,MAAM,UAAU,CAAA;AAOpC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,gBAAgB,CAAC,OAAO,GAChC,CAAC,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAmBpD;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB,CAAC;IACxC,4CAA4C;IAC5C,KAAK,OAAO,GAAG;QACb,gGAAgG;QAChG,UAAU,EAAE,MAAM,CAAA;KACnB,CAAA;CACF"}
|
package/dist/admin/Access.js
CHANGED
|
@@ -24,10 +24,8 @@ const cookieName = 'CF_Authorization';
|
|
|
24
24
|
* ```ts
|
|
25
25
|
* import { App, Access } from 'tapimo/admin'
|
|
26
26
|
*
|
|
27
|
-
* const source = {} as App.create.Options['apiKey']['source']
|
|
28
|
-
*
|
|
29
27
|
* App.create({
|
|
30
|
-
*
|
|
28
|
+
* // ...
|
|
31
29
|
* identify: Access.cloudflareAccess({
|
|
32
30
|
* teamDomain: 'https://tempo.cloudflareaccess.com',
|
|
33
31
|
* }),
|
package/dist/admin/Access.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Access.js","sourceRoot":"","sources":["../../src/admin/Access.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAI5B,gFAAgF;AAChF,MAAM,UAAU,GAAG,yBAAyB,CAAA;AAC5C,4EAA4E;AAC5E,MAAM,UAAU,GAAG,kBAAkB,CAAA;AAErC
|
|
1
|
+
{"version":3,"file":"Access.js","sourceRoot":"","sources":["../../src/admin/Access.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAA;AAI5B,gFAAgF;AAChF,MAAM,UAAU,GAAG,yBAAyB,CAAA;AAC5C,4EAA4E;AAC5E,MAAM,UAAU,GAAG,kBAAkB,CAAA;AAErC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAAiC;IAEjC,MAAM,EAAE,UAAU,EAAE,GAAG,OAAO,CAAA;IAE9B,8EAA8E;IAC9E,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,uBAAuB,CAAC,CAAC,CAAA;IAE/E,OAAO,KAAK,EAAE,OAAO,EAAE,EAAE;QACvB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,CAAA;QAChC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAA;QACvB,IAAI,CAAC;YACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAA;YACjE,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;YAC9B,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;QAC9D,CAAC;QAAC,MAAM,CAAC;YACP,iEAAiE;YACjE,OAAO,IAAI,CAAA;QACb,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAUD;;;GAGG;AACH,SAAS,SAAS,CAAC,OAAgB;IACjC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;IAC9C,IAAI,MAAM;QAAE,OAAO,MAAM,CAAA;IACzB,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;IAC5C,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAA;IAC7B,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC9C,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC"}
|
package/dist/admin/App.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { type RequestIdVariables } from 'hono/request-id';
|
|
2
|
-
import * as ApiKeySource from '../ApiKeySource.js';
|
|
3
2
|
import type * as Assets from '../Assets.js';
|
|
4
|
-
import * as
|
|
3
|
+
import type * as Db from '../db/Db.js';
|
|
5
4
|
import type * as Store from '../internal/Store.js';
|
|
5
|
+
import * as Response from '../internal/Response.js';
|
|
6
6
|
/** A verified admin identity, as returned by {@link create.Options.identify}. */
|
|
7
7
|
export type Identity = {
|
|
8
8
|
/** The admin's verified email, recorded as `createdBy` on every minted key. */
|
|
@@ -13,14 +13,14 @@ export type Environment = {
|
|
|
13
13
|
Variables: RequestIdVariables & {
|
|
14
14
|
/** Static-asset writer (e.g. the R2 icon bucket), when configured. */
|
|
15
15
|
assets: create.Assets | undefined;
|
|
16
|
+
/** Authoritative Postgres store, or a per-request factory. Resolve at the leaf with `Db.get`. */
|
|
17
|
+
db: Db.Source;
|
|
18
|
+
/** KV state store backing API-key records (mint/list/revoke). */
|
|
19
|
+
kv: {
|
|
20
|
+
store: Store.State;
|
|
21
|
+
};
|
|
16
22
|
/** The admin identity, or `null` when unauthenticated (gated routes reject). */
|
|
17
23
|
identity: Identity | null;
|
|
18
|
-
/** The API-key source provisioned against (mint/list/revoke). */
|
|
19
|
-
source: ApiKeySource.Source;
|
|
20
|
-
/** Verified-token state store, when management is enabled. */
|
|
21
|
-
verifiedTokens: {
|
|
22
|
-
store: Store.State;
|
|
23
|
-
} | undefined;
|
|
24
24
|
};
|
|
25
25
|
};
|
|
26
26
|
/** The admin portal Hono app. Inferred from {@link create}. */
|
|
@@ -36,6 +36,9 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
36
36
|
}, {
|
|
37
37
|
readonly description: 'Run ad-hoc queries against the raw indexer passthrough.';
|
|
38
38
|
readonly scope: 'indexer:query';
|
|
39
|
+
}, {
|
|
40
|
+
readonly description: 'Fill and submit transactions through the relay.';
|
|
41
|
+
readonly scope: 'rpc-relay';
|
|
39
42
|
}, {
|
|
40
43
|
readonly description: 'Read webhook subscriptions.';
|
|
41
44
|
readonly scope: 'webhooks:read';
|
|
@@ -62,7 +65,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
62
65
|
perMinute: number;
|
|
63
66
|
};
|
|
64
67
|
} | undefined;
|
|
65
|
-
scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
|
|
68
|
+
scopes: readonly ("*" | "data:read" | "indexer:query" | "rpc-relay" | "webhooks:read" | "webhooks:write")[];
|
|
66
69
|
createdAt: string;
|
|
67
70
|
createdBy?: string | undefined;
|
|
68
71
|
expiresAt?: string | undefined;
|
|
@@ -78,7 +81,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
78
81
|
rateLimits?: Record<string, {
|
|
79
82
|
perMinute: number;
|
|
80
83
|
}> | undefined;
|
|
81
|
-
scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
|
|
84
|
+
scopes: readonly ("*" | "data:read" | "indexer:query" | "rpc-relay" | "webhooks:read" | "webhooks:write")[];
|
|
82
85
|
expiresAt?: string | undefined;
|
|
83
86
|
orgId?: string | undefined;
|
|
84
87
|
};
|
|
@@ -99,7 +102,7 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
99
102
|
perMinute: number;
|
|
100
103
|
};
|
|
101
104
|
} | undefined;
|
|
102
|
-
scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
|
|
105
|
+
scopes: readonly ("*" | "data:read" | "indexer:query" | "rpc-relay" | "webhooks:read" | "webhooks:write")[];
|
|
103
106
|
createdAt: string;
|
|
104
107
|
createdBy?: string | undefined;
|
|
105
108
|
expiresAt?: string | undefined;
|
|
@@ -149,22 +152,6 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
149
152
|
}, "/api-keys"> | import("hono/types").MergeSchemaPath<{
|
|
150
153
|
"/": {
|
|
151
154
|
$get: {
|
|
152
|
-
output: {
|
|
153
|
-
error: {
|
|
154
|
-
code: "verified_tokens_not_enabled";
|
|
155
|
-
details?: readonly Response.error.Detail[] | undefined;
|
|
156
|
-
message: string;
|
|
157
|
-
};
|
|
158
|
-
requestId: string;
|
|
159
|
-
};
|
|
160
|
-
outputFormat: "json";
|
|
161
|
-
status: 404;
|
|
162
|
-
input: {
|
|
163
|
-
query: {
|
|
164
|
-
chainId: string | string[];
|
|
165
|
-
};
|
|
166
|
-
};
|
|
167
|
-
} | {
|
|
168
155
|
output: {
|
|
169
156
|
data: {
|
|
170
157
|
address: `0x${string}`;
|
|
@@ -191,14 +178,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
191
178
|
$post: {
|
|
192
179
|
output: {
|
|
193
180
|
error: {
|
|
194
|
-
code:
|
|
181
|
+
code: string;
|
|
195
182
|
details?: readonly Response.error.Detail[] | undefined;
|
|
196
183
|
message: string;
|
|
197
184
|
};
|
|
198
185
|
requestId: string;
|
|
199
186
|
};
|
|
200
187
|
outputFormat: "json";
|
|
201
|
-
status:
|
|
188
|
+
status: 400 | 413 | 415;
|
|
202
189
|
input: {
|
|
203
190
|
json: {
|
|
204
191
|
address: `0x${string}`;
|
|
@@ -214,14 +201,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
214
201
|
} | {
|
|
215
202
|
output: {
|
|
216
203
|
error: {
|
|
217
|
-
code: "
|
|
204
|
+
code: "upstream_error";
|
|
218
205
|
details?: readonly Response.error.Detail[] | undefined;
|
|
219
206
|
message: string;
|
|
220
207
|
};
|
|
221
208
|
requestId: string;
|
|
222
209
|
};
|
|
223
210
|
outputFormat: "json";
|
|
224
|
-
status:
|
|
211
|
+
status: 502;
|
|
225
212
|
input: {
|
|
226
213
|
json: {
|
|
227
214
|
address: `0x${string}`;
|
|
@@ -284,29 +271,6 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
284
271
|
logo?: string | undefined;
|
|
285
272
|
};
|
|
286
273
|
};
|
|
287
|
-
} | {
|
|
288
|
-
output: {
|
|
289
|
-
error: {
|
|
290
|
-
code: string;
|
|
291
|
-
details?: readonly Response.error.Detail[] | undefined;
|
|
292
|
-
message: string;
|
|
293
|
-
};
|
|
294
|
-
requestId: string;
|
|
295
|
-
};
|
|
296
|
-
outputFormat: "json";
|
|
297
|
-
status: 400 | 413 | 415;
|
|
298
|
-
input: {
|
|
299
|
-
json: {
|
|
300
|
-
address: `0x${string}`;
|
|
301
|
-
currency: string;
|
|
302
|
-
decimals: number;
|
|
303
|
-
logoUri?: string | undefined;
|
|
304
|
-
name: string;
|
|
305
|
-
symbol: string;
|
|
306
|
-
chainId: unknown;
|
|
307
|
-
logo?: string | undefined;
|
|
308
|
-
};
|
|
309
|
-
};
|
|
310
274
|
} | {
|
|
311
275
|
output: {
|
|
312
276
|
error: {
|
|
@@ -406,41 +370,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
406
370
|
$put: {
|
|
407
371
|
output: {
|
|
408
372
|
error: {
|
|
409
|
-
code:
|
|
410
|
-
details?: readonly Response.error.Detail[] | undefined;
|
|
411
|
-
message: string;
|
|
412
|
-
};
|
|
413
|
-
requestId: string;
|
|
414
|
-
};
|
|
415
|
-
outputFormat: "json";
|
|
416
|
-
status: 502;
|
|
417
|
-
input: {
|
|
418
|
-
query: {
|
|
419
|
-
chainId: string | string[];
|
|
420
|
-
};
|
|
421
|
-
} & {
|
|
422
|
-
json: {
|
|
423
|
-
tokens: {
|
|
424
|
-
address: `0x${string}`;
|
|
425
|
-
currency: string;
|
|
426
|
-
decimals: number;
|
|
427
|
-
logoUri?: string | undefined;
|
|
428
|
-
name: string;
|
|
429
|
-
symbol: string;
|
|
430
|
-
}[];
|
|
431
|
-
};
|
|
432
|
-
};
|
|
433
|
-
} | {
|
|
434
|
-
output: {
|
|
435
|
-
error: {
|
|
436
|
-
code: "verified_tokens_not_enabled";
|
|
373
|
+
code: string;
|
|
437
374
|
details?: readonly Response.error.Detail[] | undefined;
|
|
438
375
|
message: string;
|
|
439
376
|
};
|
|
440
377
|
requestId: string;
|
|
441
378
|
};
|
|
442
379
|
outputFormat: "json";
|
|
443
|
-
status:
|
|
380
|
+
status: 400 | 413 | 415;
|
|
444
381
|
input: {
|
|
445
382
|
query: {
|
|
446
383
|
chainId: string | string[];
|
|
@@ -460,14 +397,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
460
397
|
} | {
|
|
461
398
|
output: {
|
|
462
399
|
error: {
|
|
463
|
-
code:
|
|
400
|
+
code: "upstream_error";
|
|
464
401
|
details?: readonly Response.error.Detail[] | undefined;
|
|
465
402
|
message: string;
|
|
466
403
|
};
|
|
467
404
|
requestId: string;
|
|
468
405
|
};
|
|
469
406
|
outputFormat: "json";
|
|
470
|
-
status:
|
|
407
|
+
status: 502;
|
|
471
408
|
input: {
|
|
472
409
|
query: {
|
|
473
410
|
chainId: string | string[];
|
|
@@ -630,14 +567,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
630
567
|
$patch: {
|
|
631
568
|
output: {
|
|
632
569
|
error: {
|
|
633
|
-
code:
|
|
570
|
+
code: string;
|
|
634
571
|
details?: readonly Response.error.Detail[] | undefined;
|
|
635
572
|
message: string;
|
|
636
573
|
};
|
|
637
574
|
requestId: string;
|
|
638
575
|
};
|
|
639
576
|
outputFormat: "json";
|
|
640
|
-
status:
|
|
577
|
+
status: 400 | 413 | 415;
|
|
641
578
|
input: {
|
|
642
579
|
param: {
|
|
643
580
|
address: `0x${string}`;
|
|
@@ -658,14 +595,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
658
595
|
} | {
|
|
659
596
|
output: {
|
|
660
597
|
error: {
|
|
661
|
-
code: "
|
|
598
|
+
code: "upstream_error";
|
|
662
599
|
details?: readonly Response.error.Detail[] | undefined;
|
|
663
600
|
message: string;
|
|
664
601
|
};
|
|
665
602
|
requestId: string;
|
|
666
603
|
};
|
|
667
604
|
outputFormat: "json";
|
|
668
|
-
status:
|
|
605
|
+
status: 502;
|
|
669
606
|
input: {
|
|
670
607
|
param: {
|
|
671
608
|
address: `0x${string}`;
|
|
@@ -715,34 +652,6 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
715
652
|
symbol?: string | undefined;
|
|
716
653
|
};
|
|
717
654
|
};
|
|
718
|
-
} | {
|
|
719
|
-
output: {
|
|
720
|
-
error: {
|
|
721
|
-
code: string;
|
|
722
|
-
details?: readonly Response.error.Detail[] | undefined;
|
|
723
|
-
message: string;
|
|
724
|
-
};
|
|
725
|
-
requestId: string;
|
|
726
|
-
};
|
|
727
|
-
outputFormat: "json";
|
|
728
|
-
status: 400 | 413 | 415;
|
|
729
|
-
input: {
|
|
730
|
-
param: {
|
|
731
|
-
address: `0x${string}`;
|
|
732
|
-
};
|
|
733
|
-
} & {
|
|
734
|
-
query: {
|
|
735
|
-
chainId: string | string[];
|
|
736
|
-
};
|
|
737
|
-
} & {
|
|
738
|
-
json: {
|
|
739
|
-
currency?: string | undefined;
|
|
740
|
-
decimals?: number | undefined;
|
|
741
|
-
logoUri?: string | undefined;
|
|
742
|
-
name?: string | undefined;
|
|
743
|
-
symbol?: string | undefined;
|
|
744
|
-
};
|
|
745
|
-
};
|
|
746
655
|
} | {
|
|
747
656
|
output: {
|
|
748
657
|
error: {
|
|
@@ -862,34 +771,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
862
771
|
$delete: {
|
|
863
772
|
output: {
|
|
864
773
|
error: {
|
|
865
|
-
code:
|
|
866
|
-
details?: readonly Response.error.Detail[] | undefined;
|
|
867
|
-
message: string;
|
|
868
|
-
};
|
|
869
|
-
requestId: string;
|
|
870
|
-
};
|
|
871
|
-
outputFormat: "json";
|
|
872
|
-
status: 502;
|
|
873
|
-
input: {
|
|
874
|
-
param: {
|
|
875
|
-
address: `0x${string}`;
|
|
876
|
-
};
|
|
877
|
-
} & {
|
|
878
|
-
query: {
|
|
879
|
-
chainId: string | string[];
|
|
880
|
-
};
|
|
881
|
-
};
|
|
882
|
-
} | {
|
|
883
|
-
output: {
|
|
884
|
-
error: {
|
|
885
|
-
code: "verified_tokens_not_enabled";
|
|
774
|
+
code: string;
|
|
886
775
|
details?: readonly Response.error.Detail[] | undefined;
|
|
887
776
|
message: string;
|
|
888
777
|
};
|
|
889
778
|
requestId: string;
|
|
890
779
|
};
|
|
891
780
|
outputFormat: "json";
|
|
892
|
-
status:
|
|
781
|
+
status: 400 | 413 | 415;
|
|
893
782
|
input: {
|
|
894
783
|
param: {
|
|
895
784
|
address: `0x${string}`;
|
|
@@ -902,14 +791,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
902
791
|
} | {
|
|
903
792
|
output: {
|
|
904
793
|
error: {
|
|
905
|
-
code:
|
|
794
|
+
code: "upstream_error";
|
|
906
795
|
details?: readonly Response.error.Detail[] | undefined;
|
|
907
796
|
message: string;
|
|
908
797
|
};
|
|
909
798
|
requestId: string;
|
|
910
799
|
};
|
|
911
800
|
outputFormat: "json";
|
|
912
|
-
status:
|
|
801
|
+
status: 502;
|
|
913
802
|
input: {
|
|
914
803
|
param: {
|
|
915
804
|
address: `0x${string}`;
|
|
@@ -1058,14 +947,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
1058
947
|
$put: {
|
|
1059
948
|
output: {
|
|
1060
949
|
error: {
|
|
1061
|
-
code: "
|
|
950
|
+
code: "body_invalid";
|
|
1062
951
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1063
952
|
message: string;
|
|
1064
953
|
};
|
|
1065
954
|
requestId: string;
|
|
1066
955
|
};
|
|
1067
956
|
outputFormat: "json";
|
|
1068
|
-
status:
|
|
957
|
+
status: 400;
|
|
1069
958
|
input: {
|
|
1070
959
|
param: {
|
|
1071
960
|
address: `0x${string}`;
|
|
@@ -1078,14 +967,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
1078
967
|
} | {
|
|
1079
968
|
output: {
|
|
1080
969
|
error: {
|
|
1081
|
-
code: "
|
|
970
|
+
code: "assets_not_enabled";
|
|
1082
971
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1083
972
|
message: string;
|
|
1084
973
|
};
|
|
1085
974
|
requestId: string;
|
|
1086
975
|
};
|
|
1087
976
|
outputFormat: "json";
|
|
1088
|
-
status:
|
|
977
|
+
status: 404;
|
|
1089
978
|
input: {
|
|
1090
979
|
param: {
|
|
1091
980
|
address: `0x${string}`;
|
|
@@ -1098,14 +987,14 @@ export declare function create(options: create.Options): import("hono/hono-base"
|
|
|
1098
987
|
} | {
|
|
1099
988
|
output: {
|
|
1100
989
|
error: {
|
|
1101
|
-
code: "
|
|
990
|
+
code: "unsupported_media_type";
|
|
1102
991
|
details?: readonly Response.error.Detail[] | undefined;
|
|
1103
992
|
message: string;
|
|
1104
993
|
};
|
|
1105
994
|
requestId: string;
|
|
1106
995
|
};
|
|
1107
996
|
outputFormat: "json";
|
|
1108
|
-
status:
|
|
997
|
+
status: 415;
|
|
1109
998
|
input: {
|
|
1110
999
|
param: {
|
|
1111
1000
|
address: `0x${string}`;
|
|
@@ -1180,16 +1069,24 @@ export declare namespace create {
|
|
|
1180
1069
|
type Assets = Assets.Assets;
|
|
1181
1070
|
/** Options for {@link create}. */
|
|
1182
1071
|
type Options = {
|
|
1183
|
-
/** API-key provisioning config (mirrors the API app's `apiKey` option). */
|
|
1184
|
-
apiKey: {
|
|
1185
|
-
/** Source to provision against (mint/list/revoke). */
|
|
1186
|
-
source: ApiKeySource.Source;
|
|
1187
|
-
};
|
|
1188
1072
|
/**
|
|
1189
1073
|
* Static-asset writer for logo uploads (shared with the main API's `assets`
|
|
1190
1074
|
* loader) to enable `PUT /verified-tokens/:address/logo`; omit for `404`.
|
|
1191
1075
|
*/
|
|
1192
1076
|
assets?: Assets | undefined;
|
|
1077
|
+
/**
|
|
1078
|
+
* Authoritative Postgres store shared with the main API (verified
|
|
1079
|
+
* tokens). Pass a long-lived `Db.postgres(...)` singleton on Node, or a
|
|
1080
|
+
* factory (`() => Db.postgres(...)`) on Workers.
|
|
1081
|
+
*/
|
|
1082
|
+
db: Db.Source;
|
|
1083
|
+
/**
|
|
1084
|
+
* KV state store backing API-key records (shared with the main API's
|
|
1085
|
+
* `kv` option), provisioned against by the `/api-keys` routes.
|
|
1086
|
+
*/
|
|
1087
|
+
kv: {
|
|
1088
|
+
store: Store.State;
|
|
1089
|
+
};
|
|
1193
1090
|
/**
|
|
1194
1091
|
* Extracts the verified admin identity from a request, or `null` to deny.
|
|
1195
1092
|
* Must only return an identity for an already-authenticated request (a
|
|
@@ -1201,14 +1098,6 @@ export declare namespace create {
|
|
|
1201
1098
|
* `loginUrl`/`logoutUrl` are surfaced in `GET /config.json`.
|
|
1202
1099
|
*/
|
|
1203
1100
|
ui?: Ui | false | undefined;
|
|
1204
|
-
/**
|
|
1205
|
-
* Verified-token management config (store shared with the main API's reads)
|
|
1206
|
-
* to enable the `/verified-tokens` routes; omit to serve them as `404`.
|
|
1207
|
-
*/
|
|
1208
|
-
verifiedTokens?: {
|
|
1209
|
-
/** Verified-token state store (shared with the main API's reads). */
|
|
1210
|
-
store: Store.State;
|
|
1211
|
-
} | undefined;
|
|
1212
1101
|
};
|
|
1213
1102
|
/** Admin UI options surfaced to the SPA via `GET /config.json`. */
|
|
1214
1103
|
type Ui = {
|
package/dist/admin/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/admin/App.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAGpE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/admin/App.ts"],"names":[],"mappings":"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"}
|
package/dist/admin/App.js
CHANGED
|
@@ -2,7 +2,6 @@ import { Hono } from 'hono';
|
|
|
2
2
|
import { HTTPException } from 'hono/http-exception';
|
|
3
3
|
import { requestId } from 'hono/request-id';
|
|
4
4
|
import * as ApiKey from '../ApiKey.js';
|
|
5
|
-
import * as ApiKeySource from '../ApiKeySource.js';
|
|
6
5
|
import * as Response from '../internal/Response.js';
|
|
7
6
|
import { apiKeys } from './apps/api-keys.js';
|
|
8
7
|
import { scopes } from './apps/scopes.js';
|
|
@@ -11,7 +10,6 @@ import * as Ui from './ui.generated.js';
|
|
|
11
10
|
/** Creates the admin portal Hono app. */
|
|
12
11
|
export function create(options) {
|
|
13
12
|
const { identify } = options;
|
|
14
|
-
const { source } = options.apiKey;
|
|
15
13
|
// `false` (disabled) collapses to `undefined` so only a real config surfaces
|
|
16
14
|
// `loginUrl`/`logoutUrl` in `/config.json`.
|
|
17
15
|
const ui = options.ui || undefined;
|
|
@@ -24,9 +22,9 @@ export function create(options) {
|
|
|
24
22
|
app.use('*', async (c, next) => {
|
|
25
23
|
// Admin data is per-principal and mutating: never cache.
|
|
26
24
|
c.header('Cache-Control', 'no-store');
|
|
27
|
-
c.set('source', source);
|
|
28
25
|
c.set('assets', options.assets);
|
|
29
|
-
c.set('
|
|
26
|
+
c.set('db', options.db);
|
|
27
|
+
c.set('kv', options.kv);
|
|
30
28
|
c.set('identity', await identify(c.req.raw));
|
|
31
29
|
return next();
|
|
32
30
|
});
|
package/dist/admin/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/admin/App.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAa,MAAM,MAAM,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,SAAS,EAA2B,MAAM,iBAAiB,CAAA;AAEpE,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/admin/App.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,IAAI,EAAa,MAAM,MAAM,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,SAAS,EAA2B,MAAM,iBAAiB,CAAA;AAEpE,OAAO,KAAK,MAAM,MAAM,cAAc,CAAA;AAItC,OAAO,KAAK,QAAQ,MAAM,yBAAyB,CAAA;AAEnD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAC5C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAyBvC,yCAAyC;AACzC,MAAM,UAAU,MAAM,CAAC,OAAuB;IAC5C,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAA;IAC5B,6EAA6E;IAC7E,4CAA4C;IAC5C,MAAM,EAAE,GAAG,OAAO,CAAC,EAAE,IAAI,SAAS,CAAA;IAElC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAe,CAAA;IAEnC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,EAAE,UAAU,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAA;IAE3D,8EAA8E;IAC9E,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;QAAE,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAA;IAE1D,4EAA4E;IAC5E,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE;QAC7B,yDAAyD;QACzD,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,UAAU,CAAC,CAAA;QACrC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QAC/B,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;QACvB,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAA;QAC5C,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAC,CAAA;IAEF,sEAAsE;IACtE,+EAA+E;IAC/E,SAAS,UAAU,CAAC,QAAyB;QAC3C,OAAO;YACL,IAAI,EAAE;gBACJ,QAAQ;gBACR,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD;SACF,CAAA;IACH,CAAC;IAED,8EAA8E;IAC9E,4EAA4E;IAC5E,4EAA4E;IAC5E,MAAM,UAAU,GAAG,CAAC,CAAuB,EAAE,EAAE;QAC7C,MAAM,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAA;QACnE,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,CAAA;QACvF,OAAO,CAAC,CAAC,IAAI,CACX,EAAE,CAAC,KAAK,CAAC,OAAO,CACd,QAAQ,EACR,qBAAqB,KAAK,2CAA2C,MAAM,WAAW,CACvF,CACF,CAAA;IACH,CAAC,CAAA;IAED,4EAA4E;IAC5E,0EAA0E;IAC1E,yEAAyE;IACzE,iCAAiC;IACjC,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;QACtB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,CACvB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACvE,CAAA;IAEH,gFAAgF;IAChF,MAAM,WAAW,GAAG,KAAK,EAAE,CAAuB,EAAE,IAAU,EAAE,EAAE;QAChE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC;YACpB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;gBACvB,IAAI,EAAE,cAAc;gBACpB,OAAO,EAAE,gCAAgC;gBACzC,MAAM,EAAE,GAAG;aACZ,CAAC,CAAA;QACJ,OAAO,IAAI,EAAE,CAAA;IACf,CAAC,CAAA;IACD,KAAK,MAAM,IAAI,IAAI;QACjB,cAAc;QACd,WAAW;QACX,aAAa;QACb,SAAS;QACT,WAAW;QACX,kBAAkB;QAClB,oBAAoB;KACrB;QACC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;IAE5B,MAAM,MAAM,GAAG,GAAG;SACf,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACtE,KAAK,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;SAC7B,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;SAC1B,KAAK,CAAC,kBAAkB,EAAE,cAAc,EAAE,CAAC,CAAA;IAE9C,8EAA8E;IAC9E,6EAA6E;IAC7E,IAAI,OAAO,CAAC,EAAE,KAAK,KAAK;QAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;IAElD,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CACjB,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAClF,CAAA;IAED,GAAG,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACvB,IAAI,KAAK,YAAY,aAAa;YAAE,OAAO,KAAK,CAAC,WAAW,EAAE,CAAA;QAC9D,+DAA+D;QAC/D,OAAO,CAAC,KAAK,CACX,MAAM,CAAC,MAAM,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CACvF,CAAA;QACD,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE;YACvB,IAAI,EAAE,gBAAgB;YACtB,OAAO,EAAE,uBAAuB;YAChC,MAAM,EAAE,GAAG;SACZ,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAA;AACf,CAAC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,SAAS,UAAU,CAAC,CAAuB;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IACxE,IAAI,CAAC,KAAK;QACR,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAA;IAC1F,CAAC,CAAC,MAAM,CAAC,eAAe,EAAE,qCAAqC,CAAC,CAAA;IAChE,CAAC,CAAC,MAAM,CAAC,cAAc,EAAE,KAAK,CAAC,WAAW,CAAC,CAAA;IAC3C,OAAO,CAAC,CAAC,IAAI,CACX,KAAK,CAAC,QAAQ,KAAK,QAAQ;QACzB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,KAAK,CAAC,OAAO,CAClB,CAAA;AACH,CAAC"}
|
|
@@ -22,6 +22,7 @@ export declare namespace schema {
|
|
|
22
22
|
"*": "*";
|
|
23
23
|
"data:read": "data:read";
|
|
24
24
|
"indexer:query": "indexer:query";
|
|
25
|
+
"rpc-relay": "rpc-relay";
|
|
25
26
|
"webhooks:read": "webhooks:read";
|
|
26
27
|
"webhooks:write": "webhooks:write";
|
|
27
28
|
}>>>;
|
|
@@ -44,6 +45,7 @@ export declare namespace schema {
|
|
|
44
45
|
"*": "*";
|
|
45
46
|
"data:read": "data:read";
|
|
46
47
|
"indexer:query": "indexer:query";
|
|
48
|
+
"rpc-relay": "rpc-relay";
|
|
47
49
|
"webhooks:read": "webhooks:read";
|
|
48
50
|
"webhooks:write": "webhooks:write";
|
|
49
51
|
}>>>;
|
|
@@ -77,6 +79,7 @@ export declare namespace schema {
|
|
|
77
79
|
"*": "*";
|
|
78
80
|
"data:read": "data:read";
|
|
79
81
|
"indexer:query": "indexer:query";
|
|
82
|
+
"rpc-relay": "rpc-relay";
|
|
80
83
|
"webhooks:read": "webhooks:read";
|
|
81
84
|
"webhooks:write": "webhooks:write";
|
|
82
85
|
}>>>;
|
|
@@ -100,8 +103,7 @@ export declare namespace schema {
|
|
|
100
103
|
}
|
|
101
104
|
}
|
|
102
105
|
/**
|
|
103
|
-
* Provisioning routes for API keys, backed by the
|
|
104
|
-
* {@link App.Environment} `source`:
|
|
106
|
+
* Provisioning routes for API keys, backed by the app's KV state store:
|
|
105
107
|
*
|
|
106
108
|
* - `POST /` mints a key, recording `createdBy` from the verified identity and
|
|
107
109
|
* returning the one-time token.
|
|
@@ -121,7 +123,7 @@ export declare function apiKeys(): import("hono/hono-base").HonoBase<App.Environ
|
|
|
121
123
|
perMinute: number;
|
|
122
124
|
};
|
|
123
125
|
} | undefined;
|
|
124
|
-
scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
|
|
126
|
+
scopes: readonly ("*" | "data:read" | "indexer:query" | "rpc-relay" | "webhooks:read" | "webhooks:write")[];
|
|
125
127
|
createdAt: string;
|
|
126
128
|
createdBy?: string | undefined;
|
|
127
129
|
expiresAt?: string | undefined;
|
|
@@ -137,7 +139,7 @@ export declare function apiKeys(): import("hono/hono-base").HonoBase<App.Environ
|
|
|
137
139
|
rateLimits?: Record<string, {
|
|
138
140
|
perMinute: number;
|
|
139
141
|
}> | undefined;
|
|
140
|
-
scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
|
|
142
|
+
scopes: readonly ("*" | "data:read" | "indexer:query" | "rpc-relay" | "webhooks:read" | "webhooks:write")[];
|
|
141
143
|
expiresAt?: string | undefined;
|
|
142
144
|
orgId?: string | undefined;
|
|
143
145
|
};
|
|
@@ -158,7 +160,7 @@ export declare function apiKeys(): import("hono/hono-base").HonoBase<App.Environ
|
|
|
158
160
|
perMinute: number;
|
|
159
161
|
};
|
|
160
162
|
} | undefined;
|
|
161
|
-
scopes: readonly ("*" | "data:read" | "indexer:query" | "webhooks:read" | "webhooks:write")[];
|
|
163
|
+
scopes: readonly ("*" | "data:read" | "indexer:query" | "rpc-relay" | "webhooks:read" | "webhooks:write")[];
|
|
162
164
|
createdAt: string;
|
|
163
165
|
createdBy?: string | undefined;
|
|
164
166
|
expiresAt?: string | undefined;
|