@continuumdao/continuum-node-sdk 1.2.14 → 1.2.16
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/core/agent/cron-jobs.d.ts +7 -7
- package/dist/core/agent/cron-jobs.d.ts.map +1 -1
- package/dist/core/agent/cron-jobs.js +6 -6
- package/dist/core/agent/cron-jobs.js.map +1 -1
- package/dist/core/agent/environment-variables.d.ts +2 -2
- package/dist/core/agent/environment-variables.d.ts.map +1 -1
- package/dist/core/agent/environment-variables.js +2 -2
- package/dist/core/agent/environment-variables.js.map +1 -1
- package/dist/core/agent/mcp-servers-catalog.d.ts +1 -12
- package/dist/core/agent/mcp-servers-catalog.d.ts.map +1 -1
- package/dist/core/agent/mcp-servers-catalog.js +4 -67
- package/dist/core/agent/mcp-servers-catalog.js.map +1 -1
- package/dist/core/agent/mcp-servers.d.ts +4 -4
- package/dist/core/agent/mcp-servers.d.ts.map +1 -1
- package/dist/core/agent/mcp-servers.js +4 -4
- package/dist/core/agent/mcp-servers.js.map +1 -1
- package/dist/core/agent/skills.d.ts +3 -3
- package/dist/core/agent/skills.d.ts.map +1 -1
- package/dist/core/agent/skills.js +3 -3
- package/dist/core/agent/skills.js.map +1 -1
- package/dist/core/agent/webhooks.d.ts +8 -8
- package/dist/core/agent/webhooks.d.ts.map +1 -1
- package/dist/core/agent/webhooks.js +4 -4
- package/dist/core/agent/webhooks.js.map +1 -1
- package/dist/core/groups.d.ts +3 -3
- package/dist/core/groups.d.ts.map +1 -1
- package/dist/core/groups.js +3 -3
- package/dist/core/groups.js.map +1 -1
- package/dist/core/keygen-messaging.d.ts +2 -2
- package/dist/core/keygen-messaging.d.ts.map +1 -1
- package/dist/core/keygen-messaging.js +2 -2
- package/dist/core/keygen-messaging.js.map +1 -1
- package/dist/core/keygen.d.ts +4 -4
- package/dist/core/keygen.d.ts.map +1 -1
- package/dist/core/keygen.js +4 -4
- package/dist/core/keygen.js.map +1 -1
- package/dist/core/management-signer.d.ts +8 -8
- package/dist/core/management-signer.d.ts.map +1 -1
- package/dist/core/management-signer.js +24 -24
- package/dist/core/management-signer.js.map +1 -1
- package/dist/core/registry/address-book.d.ts +3 -3
- package/dist/core/registry/address-book.d.ts.map +1 -1
- package/dist/core/registry/address-book.js +3 -3
- package/dist/core/registry/address-book.js.map +1 -1
- package/dist/core/registry/networks.d.ts +3 -3
- package/dist/core/registry/networks.d.ts.map +1 -1
- package/dist/core/registry/networks.js +3 -3
- package/dist/core/registry/networks.js.map +1 -1
- package/dist/core/registry/tokens.d.ts +3 -3
- package/dist/core/registry/tokens.d.ts.map +1 -1
- package/dist/core/registry/tokens.js +3 -3
- package/dist/core/registry/tokens.js.map +1 -1
- package/dist/core/signing-flow.d.ts +9 -0
- package/dist/core/signing-flow.d.ts.map +1 -0
- package/dist/core/signing-flow.js +139 -0
- package/dist/core/signing-flow.js.map +1 -0
- package/dist/data/mpc-keys.d.ts +8 -0
- package/dist/data/mpc-keys.d.ts.map +1 -0
- package/dist/data/mpc-keys.js +38 -0
- package/dist/data/mpc-keys.js.map +1 -0
- package/dist/detops/general.d.ts +11 -0
- package/dist/detops/general.d.ts.map +1 -0
- package/dist/detops/general.js +34 -0
- package/dist/detops/general.js.map +1 -0
- package/dist/detops/group-actions.d.ts +71 -0
- package/dist/detops/group-actions.d.ts.map +1 -0
- package/dist/detops/group-actions.js +360 -0
- package/dist/detops/group-actions.js.map +1 -0
- package/dist/detops/groups.d.ts +33 -0
- package/dist/detops/groups.d.ts.map +1 -0
- package/dist/detops/groups.js +223 -0
- package/dist/detops/groups.js.map +1 -0
- package/dist/detops/keygen.d.ts +72 -0
- package/dist/detops/keygen.d.ts.map +1 -0
- package/dist/detops/keygen.js +245 -0
- package/dist/detops/keygen.js.map +1 -0
- package/dist/detops/management-keys.d.ts +44 -0
- package/dist/detops/management-keys.d.ts.map +1 -0
- package/dist/detops/management-keys.js +216 -0
- package/dist/detops/management-keys.js.map +1 -0
- package/dist/detops/management-signer.d.ts +129 -0
- package/dist/detops/management-signer.d.ts.map +1 -0
- package/dist/detops/management-signer.js +619 -0
- package/dist/detops/management-signer.js.map +1 -0
- package/dist/detops/management-signing.d.ts +11 -0
- package/dist/detops/management-signing.d.ts.map +1 -0
- package/dist/detops/management-signing.js +131 -0
- package/dist/detops/management-signing.js.map +1 -0
- package/dist/detops/mpc/broadcast-sign-result.d.ts +9 -0
- package/dist/detops/mpc/broadcast-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/broadcast-sign-result.js +147 -0
- package/dist/detops/mpc/broadcast-sign-result.js.map +1 -0
- package/dist/detops/mpc/bump-sign-result.d.ts +25 -0
- package/dist/detops/mpc/bump-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/bump-sign-result.js +314 -0
- package/dist/detops/mpc/bump-sign-result.js.map +1 -0
- package/dist/detops/mpc/client.d.ts +15 -0
- package/dist/detops/mpc/client.d.ts.map +1 -0
- package/dist/detops/mpc/client.js +62 -0
- package/dist/detops/mpc/client.js.map +1 -0
- package/dist/detops/mpc/compose-request.d.ts +6 -0
- package/dist/detops/mpc/compose-request.d.ts.map +1 -0
- package/dist/detops/mpc/compose-request.js +33 -0
- package/dist/detops/mpc/compose-request.js.map +1 -0
- package/dist/detops/mpc/context.d.ts +11 -0
- package/dist/detops/mpc/context.d.ts.map +1 -0
- package/dist/detops/mpc/context.js +43 -0
- package/dist/detops/mpc/context.js.map +1 -0
- package/dist/detops/mpc/forge-request.d.ts +6 -0
- package/dist/detops/mpc/forge-request.d.ts.map +1 -0
- package/dist/detops/mpc/forge-request.js +46 -0
- package/dist/detops/mpc/forge-request.js.map +1 -0
- package/dist/detops/mpc/gas-preflight.d.ts +25 -0
- package/dist/detops/mpc/gas-preflight.d.ts.map +1 -0
- package/dist/detops/mpc/gas-preflight.js +101 -0
- package/dist/detops/mpc/gas-preflight.js.map +1 -0
- package/dist/detops/mpc/list-ready.d.ts +10 -0
- package/dist/detops/mpc/list-ready.d.ts.map +1 -0
- package/dist/detops/mpc/list-ready.js +48 -0
- package/dist/detops/mpc/list-ready.js.map +1 -0
- package/dist/detops/mpc/management-post-sig.d.ts +11 -0
- package/dist/detops/mpc/management-post-sig.d.ts.map +1 -0
- package/dist/detops/mpc/management-post-sig.js +20 -0
- package/dist/detops/mpc/management-post-sig.js.map +1 -0
- package/dist/detops/mpc/mpa-top-up.d.ts +18 -0
- package/dist/detops/mpc/mpa-top-up.d.ts.map +1 -0
- package/dist/detops/mpc/mpa-top-up.js +213 -0
- package/dist/detops/mpc/mpa-top-up.js.map +1 -0
- package/dist/detops/mpc/register-keygen.d.ts +6 -0
- package/dist/detops/mpc/register-keygen.d.ts.map +1 -0
- package/dist/detops/mpc/register-keygen.js +41 -0
- package/dist/detops/mpc/register-keygen.js.map +1 -0
- package/dist/detops/mpc/schemas.d.ts +251 -0
- package/dist/detops/mpc/schemas.d.ts.map +1 -0
- package/dist/detops/mpc/schemas.js +163 -0
- package/dist/detops/mpc/schemas.js.map +1 -0
- package/dist/detops/mpc/sign-request-body.d.ts +10 -0
- package/dist/detops/mpc/sign-request-body.d.ts.map +1 -0
- package/dist/detops/mpc/sign-request-body.js +64 -0
- package/dist/detops/mpc/sign-request-body.js.map +1 -0
- package/dist/detops/mpc/sign-request-utils.d.ts +33 -0
- package/dist/detops/mpc/sign-request-utils.d.ts.map +1 -0
- package/dist/detops/mpc/sign-request-utils.js +467 -0
- package/dist/detops/mpc/sign-request-utils.js.map +1 -0
- package/dist/detops/mpc/transfer-native.d.ts +6 -0
- package/dist/detops/mpc/transfer-native.d.ts.map +1 -0
- package/dist/detops/mpc/transfer-native.js +167 -0
- package/dist/detops/mpc/transfer-native.js.map +1 -0
- package/dist/detops/mpc/transfer-tokens.d.ts +15 -0
- package/dist/detops/mpc/transfer-tokens.d.ts.map +1 -0
- package/dist/detops/mpc/transfer-tokens.js +110 -0
- package/dist/detops/mpc/transfer-tokens.js.map +1 -0
- package/dist/detops/mpc/trigger-sign-result.d.ts +8 -0
- package/dist/detops/mpc/trigger-sign-result.d.ts.map +1 -0
- package/dist/detops/mpc/trigger-sign-result.js +244 -0
- package/dist/detops/mpc/trigger-sign-result.js.map +1 -0
- package/dist/detops/mpc/types.d.ts +62 -0
- package/dist/detops/mpc/types.d.ts.map +1 -0
- package/dist/detops/mpc/types.js +2 -0
- package/dist/detops/mpc/types.js.map +1 -0
- package/dist/detops/node-info.d.ts +27 -0
- package/dist/detops/node-info.d.ts.map +1 -0
- package/dist/detops/node-info.js +96 -0
- package/dist/detops/node-info.js.map +1 -0
- package/dist/detops/registry/address-book.d.ts +25 -0
- package/dist/detops/registry/address-book.d.ts.map +1 -0
- package/dist/detops/registry/address-book.js +83 -0
- package/dist/detops/registry/address-book.js.map +1 -0
- package/dist/detops/registry/networks.d.ts +20 -0
- package/dist/detops/registry/networks.d.ts.map +1 -0
- package/dist/detops/registry/networks.js +154 -0
- package/dist/detops/registry/networks.js.map +1 -0
- package/dist/detops/registry/tokens.d.ts +29 -0
- package/dist/detops/registry/tokens.d.ts.map +1 -0
- package/dist/detops/registry/tokens.js +142 -0
- package/dist/detops/registry/tokens.js.map +1 -0
- package/dist/detops/result.d.ts +21 -0
- package/dist/detops/result.d.ts.map +1 -0
- package/dist/detops/result.js +2 -0
- package/dist/detops/result.js.map +1 -0
- package/dist/detops/schemas.d.ts +153 -0
- package/dist/detops/schemas.d.ts.map +1 -0
- package/dist/detops/schemas.js +82 -0
- package/dist/detops/schemas.js.map +1 -0
- package/dist/detops/signing-flow.d.ts +9 -0
- package/dist/detops/signing-flow.d.ts.map +1 -0
- package/dist/detops/signing-flow.js +139 -0
- package/dist/detops/signing-flow.js.map +1 -0
- package/dist/detops/types.d.ts +58 -0
- package/dist/detops/types.d.ts.map +1 -0
- package/dist/detops/types.js +46 -0
- package/dist/detops/types.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/ed25519/management-signing.d.ts +51 -0
- package/dist/internal/ed25519/management-signing.d.ts.map +1 -0
- package/dist/internal/ed25519/management-signing.js +198 -0
- package/dist/internal/ed25519/management-signing.js.map +1 -0
- package/dist/internal/ed25519/openssh-ed25519.d.ts +20 -0
- package/dist/internal/ed25519/openssh-ed25519.d.ts.map +1 -0
- package/dist/internal/ed25519/openssh-ed25519.js +129 -0
- package/dist/internal/ed25519/openssh-ed25519.js.map +1 -0
- package/dist/internal/management-request-signing.d.ts +32 -0
- package/dist/internal/management-request-signing.d.ts.map +1 -0
- package/dist/internal/management-request-signing.js +186 -0
- package/dist/internal/management-request-signing.js.map +1 -0
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +4 -1
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/defi/uniswap-liquidity-input.d.ts.map +1 -1
- package/dist/mcp/defi/uniswap-liquidity-input.js +77 -2
- package/dist/mcp/defi/uniswap-liquidity-input.js.map +1 -1
- package/dist/mcp/detops/registry/address-book.d.ts +4 -0
- package/dist/mcp/detops/registry/address-book.d.ts.map +1 -0
- package/dist/mcp/detops/registry/address-book.js +39 -0
- package/dist/mcp/detops/registry/address-book.js.map +1 -0
- package/dist/mcp/detops/registry/networks.d.ts +4 -0
- package/dist/mcp/detops/registry/networks.d.ts.map +1 -0
- package/dist/mcp/detops/registry/networks.js +32 -0
- package/dist/mcp/detops/registry/networks.js.map +1 -0
- package/dist/mcp/detops/registry/tokens.d.ts +4 -0
- package/dist/mcp/detops/registry/tokens.d.ts.map +1 -0
- package/dist/mcp/detops/registry/tokens.js +43 -0
- package/dist/mcp/detops/registry/tokens.js.map +1 -0
- package/dist/mcp/ed25519/management-signing.d.ts +51 -0
- package/dist/mcp/ed25519/management-signing.d.ts.map +1 -0
- package/dist/mcp/ed25519/management-signing.js +198 -0
- package/dist/mcp/ed25519/management-signing.js.map +1 -0
- package/dist/mcp/ed25519/openssh-ed25519.d.ts +20 -0
- package/dist/mcp/ed25519/openssh-ed25519.d.ts.map +1 -0
- package/dist/mcp/ed25519/openssh-ed25519.js +129 -0
- package/dist/mcp/ed25519/openssh-ed25519.js.map +1 -0
- package/dist/mcp/groups.d.ts +71 -0
- package/dist/mcp/groups.d.ts.map +1 -0
- package/dist/mcp/groups.js +360 -0
- package/dist/mcp/groups.js.map +1 -0
- package/dist/mcp/management-keys.d.ts +4 -0
- package/dist/mcp/management-keys.d.ts.map +1 -0
- package/dist/mcp/management-keys.js +75 -0
- package/dist/mcp/management-keys.js.map +1 -0
- package/dist/mcp/management-signer.js +3 -3
- package/dist/mcp/management-signer.js.map +1 -1
- package/dist/mcp/normalize.d.ts +15 -0
- package/dist/mcp/normalize.d.ts.map +1 -0
- package/dist/mcp/normalize.js +204 -0
- package/dist/mcp/normalize.js.map +1 -0
- package/dist/mcp/schemas.d.ts +360 -0
- package/dist/mcp/schemas.d.ts.map +1 -0
- package/dist/mcp/schemas.js +263 -0
- package/dist/mcp/schemas.js.map +1 -0
- package/dist/mcp/signing.d.ts +32 -0
- package/dist/mcp/signing.d.ts.map +1 -0
- package/dist/mcp/signing.js +186 -0
- package/dist/mcp/signing.js.map +1 -0
- package/dist/ops/general.d.ts +11 -0
- package/dist/ops/general.d.ts.map +1 -0
- package/dist/ops/general.js +34 -0
- package/dist/ops/general.js.map +1 -0
- package/dist/ops/groups.d.ts +17 -0
- package/dist/ops/groups.d.ts.map +1 -0
- package/dist/ops/groups.js +105 -0
- package/dist/ops/groups.js.map +1 -0
- package/dist/ops/management-signing.d.ts +11 -0
- package/dist/ops/management-signing.d.ts.map +1 -0
- package/dist/ops/management-signing.js +131 -0
- package/dist/ops/management-signing.js.map +1 -0
- package/dist/ops/result.d.ts +21 -0
- package/dist/ops/result.d.ts.map +1 -0
- package/dist/ops/result.js +2 -0
- package/dist/ops/result.js.map +1 -0
- package/dist/ops/schemas.d.ts +153 -0
- package/dist/ops/schemas.d.ts.map +1 -0
- package/dist/ops/schemas.js +82 -0
- package/dist/ops/schemas.js.map +1 -0
- package/dist/ops/signing-flow.d.ts +8 -0
- package/dist/ops/signing-flow.d.ts.map +1 -0
- package/dist/ops/signing-flow.js +125 -0
- package/dist/ops/signing-flow.js.map +1 -0
- package/dist/ops/types.d.ts +58 -0
- package/dist/ops/types.d.ts.map +1 -0
- package/dist/ops/types.js +46 -0
- package/dist/ops/types.js.map +1 -0
- package/dist/registry/address-book.d.ts +25 -0
- package/dist/registry/address-book.d.ts.map +1 -0
- package/dist/registry/address-book.js +103 -0
- package/dist/registry/address-book.js.map +1 -0
- package/dist/registry/networks.d.ts +18 -0
- package/dist/registry/networks.d.ts.map +1 -0
- package/dist/registry/networks.js +180 -0
- package/dist/registry/networks.js.map +1 -0
- package/dist/registry/tokens.d.ts +29 -0
- package/dist/registry/tokens.d.ts.map +1 -0
- package/dist/registry/tokens.js +157 -0
- package/dist/registry/tokens.js.map +1 -0
- package/package.json +3 -2
- package/dist/core/agent/webhooks-catalog.d.ts +0 -10
- package/dist/core/agent/webhooks-catalog.d.ts.map +0 -1
- package/dist/core/agent/webhooks-catalog.js +0 -19
- package/dist/core/agent/webhooks-catalog.js.map +0 -1
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { addManagementSigner, createManagementSignerKeypair, hasManagementSigner, listManagementSignersDetailed, setPreferredManagementSigner, } from '../detops/management-keys.js';
|
|
3
|
+
import { getPreferredManagementSigner, listManagementSigners } from '../detops/management-signing.js';
|
|
4
|
+
import { ManagementKeyEntrySchema } from '../detops/schemas.js';
|
|
5
|
+
import { EdDSAPubKeySchema, NonceSchema, NodeIdSchema } from '../schemas/extended.js';
|
|
6
|
+
import { camelToSnake, wrapSdk } from './tool-utils.js';
|
|
7
|
+
export function registerManagementKeyTools(server, config) {
|
|
8
|
+
server.registerTool(camelToSnake('listManagementSigners'), {
|
|
9
|
+
description: 'List allowed management signers configured on the node.',
|
|
10
|
+
outputSchema: z.object({
|
|
11
|
+
managementKeys: z.array(ManagementKeyEntrySchema),
|
|
12
|
+
}),
|
|
13
|
+
}, async () => wrapSdk(listManagementSigners(config)));
|
|
14
|
+
server.registerTool(camelToSnake('hasManagementSigner'), {
|
|
15
|
+
description: 'Check whether the node has a management signer configured.',
|
|
16
|
+
outputSchema: z.object({ hasEdDSAKey: z.boolean() }),
|
|
17
|
+
}, async () => wrapSdk(hasManagementSigner(config)));
|
|
18
|
+
server.registerTool(camelToSnake('listManagementSignersDetailed'), {
|
|
19
|
+
description: 'List allowed management signers with local key availability details.',
|
|
20
|
+
outputSchema: z.object({
|
|
21
|
+
preferredSigner: z.string().optional(),
|
|
22
|
+
keys: z.array(z.object({
|
|
23
|
+
localFileName: z.string().optional(),
|
|
24
|
+
kind: z.literal('EdDSA'),
|
|
25
|
+
value: z.string(),
|
|
26
|
+
nonce: z.number(),
|
|
27
|
+
label: z.string().optional(),
|
|
28
|
+
localPrivateKeyAvailable: z.boolean(),
|
|
29
|
+
localPrivateKeyError: z.string().optional(),
|
|
30
|
+
})),
|
|
31
|
+
}),
|
|
32
|
+
}, async () => wrapSdk(listManagementSignersDetailed(config)));
|
|
33
|
+
server.registerTool(camelToSnake('createManagementSignerKeypair'), {
|
|
34
|
+
description: 'Generate a new local management signer keypair.',
|
|
35
|
+
outputSchema: z.object({
|
|
36
|
+
success: z.boolean(),
|
|
37
|
+
fileName: z.string(),
|
|
38
|
+
publicKey: EdDSAPubKeySchema,
|
|
39
|
+
privateKeyPath: z.string(),
|
|
40
|
+
publicKeyPath: z.string(),
|
|
41
|
+
}),
|
|
42
|
+
}, async () => wrapSdk(createManagementSignerKeypair(config)));
|
|
43
|
+
server.registerTool(camelToSnake('addManagementSigner'), {
|
|
44
|
+
description: 'Add a new management signer public key to the node.',
|
|
45
|
+
inputSchema: z.object({ newPublicKey: z.string() }),
|
|
46
|
+
outputSchema: z.object({
|
|
47
|
+
success: z.boolean(),
|
|
48
|
+
publicKey: EdDSAPubKeySchema,
|
|
49
|
+
nodeKey: z.string(),
|
|
50
|
+
}),
|
|
51
|
+
}, async ({ newPublicKey }) => wrapSdk(addManagementSigner(config, { newPublicKey })));
|
|
52
|
+
server.registerTool(camelToSnake('setPreferredManagementSigner'), {
|
|
53
|
+
description: 'Set the preferred management signer.',
|
|
54
|
+
inputSchema: z.object({ publicKeyHex: EdDSAPubKeySchema }),
|
|
55
|
+
outputSchema: z.object({
|
|
56
|
+
success: z.boolean(),
|
|
57
|
+
publicKeyHex: EdDSAPubKeySchema,
|
|
58
|
+
signerPublicKey: z.string(),
|
|
59
|
+
nodeKey: z.string(),
|
|
60
|
+
Nonce: NonceSchema,
|
|
61
|
+
signedMessage: z.string(),
|
|
62
|
+
clientSig: z.string(),
|
|
63
|
+
fileName: z.string(),
|
|
64
|
+
}),
|
|
65
|
+
}, async ({ publicKeyHex }) => wrapSdk(setPreferredManagementSigner(config, { publicKeyHex })));
|
|
66
|
+
server.registerTool(camelToSnake('getPreferredManagementSigner'), {
|
|
67
|
+
description: 'Get the currently preferred management signer.',
|
|
68
|
+
outputSchema: z.object({
|
|
69
|
+
publicKey: EdDSAPubKeySchema,
|
|
70
|
+
nonce: NonceSchema,
|
|
71
|
+
nodeKey: NodeIdSchema,
|
|
72
|
+
}),
|
|
73
|
+
}, async () => wrapSdk(getPreferredManagementSigner(config)));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=management-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"management-keys.js","sourceRoot":"","sources":["../../src/mcp/management-keys.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { addManagementSigner,
|
|
2
|
+
import { addManagementSigner, createLocalManagementSigner, getManagementSigner, getManagementSigners, getPreferredManagementSigner, hasEd25519ManagementSigner, listManagementSignersDetailed, setPreferredManagementSigner, DEFAULT_MANAGEMENT_SIGNING, } from '../core/management-signer.js';
|
|
3
3
|
import { ManagementKeyEntrySchema } from '../core/schemas.js';
|
|
4
4
|
import { EdDSAPubKeySchema, NonceSchema, NodeIdSchema } from '../schemas/extended.js';
|
|
5
5
|
import { camelToSnake, wrapSdk } from './tool-utils.js';
|
|
@@ -29,7 +29,7 @@ export function registerManagementSignerTools(server, config) {
|
|
|
29
29
|
})),
|
|
30
30
|
}),
|
|
31
31
|
}, async () => wrapSdk(listManagementSignersDetailed(config)));
|
|
32
|
-
server.registerTool(camelToSnake('
|
|
32
|
+
server.registerTool(camelToSnake('createLocalManagementSigner'), {
|
|
33
33
|
description: 'Deprecated: generates a local keypair only (does not register on the node). Use add_management_signer instead — the node generates the key via POST /addManagementKey.',
|
|
34
34
|
outputSchema: z.object({
|
|
35
35
|
success: z.boolean(),
|
|
@@ -38,7 +38,7 @@ export function registerManagementSignerTools(server, config) {
|
|
|
38
38
|
privateKeyPath: z.string(),
|
|
39
39
|
publicKeyPath: z.string(),
|
|
40
40
|
}),
|
|
41
|
-
}, async () => wrapSdk(
|
|
41
|
+
}, async () => wrapSdk(createLocalManagementSigner(config)));
|
|
42
42
|
server.registerTool(camelToSnake('addManagementSigner'), {
|
|
43
43
|
description: 'Add a new Ed25519 management signer on the node (server generates the key pair and writes /app/added_keys/added_key_<N>). Requires an existing signer (e.g. bootstrap) with a local private key.',
|
|
44
44
|
outputSchema: z.object({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"management-signer.js","sourceRoot":"","sources":["../../src/mcp/management-signer.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,mBAAmB,EACnB,
|
|
1
|
+
{"version":3,"file":"management-signer.js","sourceRoot":"","sources":["../../src/mcp/management-signer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { z } from 'zod';
|
|
2
|
+
import { KeyGenRequestSchema, KeyGenResultSchema, type McpGroupRequest, type McpGroupResult, type NodeId } from './schemas.js';
|
|
3
|
+
export declare function pick(obj: Record<string, unknown>, keys: string[]): unknown;
|
|
4
|
+
export declare function asOptionalString(value: unknown): string | undefined;
|
|
5
|
+
export declare function normalizeNodeIdList(nodeIds: readonly string[]): NodeId[];
|
|
6
|
+
export declare function isSameNodeSet(left: NodeId[], right: NodeId[]): boolean;
|
|
7
|
+
export declare function normalizeGroupRequest(value: unknown): McpGroupRequest | undefined;
|
|
8
|
+
export declare function normalizeGroupResult(value: unknown): McpGroupResult | undefined;
|
|
9
|
+
export declare function normalizeLegacyGroupListEntry(value: unknown): McpGroupResult | undefined;
|
|
10
|
+
export declare function normalizeKeyGenRequest(value: unknown): z.infer<typeof KeyGenRequestSchema> | undefined;
|
|
11
|
+
export declare function normalizeKeyGenResult(value: unknown): z.infer<typeof KeyGenResultSchema> | undefined;
|
|
12
|
+
export declare function extractStatus(payload: unknown): string | undefined;
|
|
13
|
+
export declare function normalizeKnownAddressForChain(chainType: string, address: string): string;
|
|
14
|
+
export declare function normalizeChainId(chainId: string | number): string;
|
|
15
|
+
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/mcp/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAC3B,OAAO,EAEN,mBAAmB,EACnB,kBAAkB,EAMlB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,MAAM,EACX,MAAM,cAAc,CAAC;AAEtB,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAO1E;AASD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAKnE;AA4BD,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,EAAE,CAExE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAOtE;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CA8CjF;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,GAAG,SAAS,CA6B/E;AAED,wBAAgB,6BAA6B,CAC5C,KAAK,EAAE,OAAO,GACZ,cAAc,GAAG,SAAS,CAuB5B;AAED,wBAAgB,sBAAsB,CACrC,KAAK,EAAE,OAAO,GACZ,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,GAAG,SAAS,CAiCjD;AAED,wBAAgB,qBAAqB,CACpC,KAAK,EAAE,OAAO,GACZ,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,GAAG,SAAS,CA2ChD;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAMlE;AAED,wBAAgB,6BAA6B,CAC5C,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACb,MAAM,CAOR;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEjE"}
|
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { GroupRequestIdSchema, KeyGenRequestSchema, KeyGenResultSchema, McpGroupRequestSchema, McpGroupResultSchema, } from './schemas.js';
|
|
2
|
+
export function pick(obj, keys) {
|
|
3
|
+
for (const k of keys) {
|
|
4
|
+
if (Object.prototype.hasOwnProperty.call(obj, k)) {
|
|
5
|
+
return obj[k];
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
return undefined;
|
|
9
|
+
}
|
|
10
|
+
function requireString(value, field) {
|
|
11
|
+
if (typeof value !== 'string' || value.length === 0) {
|
|
12
|
+
throw new Error(`Expected non-empty string field: ${field}`);
|
|
13
|
+
}
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
export function asOptionalString(value) {
|
|
17
|
+
if (value === undefined || value === null || value === '') {
|
|
18
|
+
return undefined;
|
|
19
|
+
}
|
|
20
|
+
return typeof value === 'string' ? value : undefined;
|
|
21
|
+
}
|
|
22
|
+
function asStringArray(value) {
|
|
23
|
+
if (!Array.isArray(value) || value.some(v => typeof v !== 'string')) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
return value;
|
|
27
|
+
}
|
|
28
|
+
function asRecordOptional(value) {
|
|
29
|
+
if (value === undefined ||
|
|
30
|
+
value === null ||
|
|
31
|
+
typeof value !== 'object' ||
|
|
32
|
+
Array.isArray(value)) {
|
|
33
|
+
return {};
|
|
34
|
+
}
|
|
35
|
+
const src = value;
|
|
36
|
+
const out = {};
|
|
37
|
+
for (const [k, v] of Object.entries(src)) {
|
|
38
|
+
if (typeof v === 'string') {
|
|
39
|
+
out[k] = v;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return out;
|
|
43
|
+
}
|
|
44
|
+
export function normalizeNodeIdList(nodeIds) {
|
|
45
|
+
return Array.from(new Set(nodeIds)).sort();
|
|
46
|
+
}
|
|
47
|
+
export function isSameNodeSet(left, right) {
|
|
48
|
+
const leftNormalized = normalizeNodeIdList(left);
|
|
49
|
+
const rightNormalized = normalizeNodeIdList(right);
|
|
50
|
+
if (leftNormalized.length !== rightNormalized.length) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
return leftNormalized.every((value, idx) => value === rightNormalized[idx]);
|
|
54
|
+
}
|
|
55
|
+
export function normalizeGroupRequest(value) {
|
|
56
|
+
if (!value || typeof value !== 'object') {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
const src = value;
|
|
60
|
+
const dataRaw = pick(src, [
|
|
61
|
+
'NewGroupDataPb',
|
|
62
|
+
'newGroupDataPb',
|
|
63
|
+
'newgroupdatapb',
|
|
64
|
+
'data',
|
|
65
|
+
'newGroupData',
|
|
66
|
+
]);
|
|
67
|
+
const data = dataRaw && typeof dataRaw === 'object'
|
|
68
|
+
? dataRaw
|
|
69
|
+
: undefined;
|
|
70
|
+
if (!data) {
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
const normalized = {
|
|
74
|
+
RequestId: requireString(pick(src, ['RequestId', 'requestid', 'id']), 'RequestId'),
|
|
75
|
+
NewGroupDataPb: {
|
|
76
|
+
GroupId: requireString(pick(data, ['GroupId', 'groupId']), 'GroupId'),
|
|
77
|
+
KeyList: asStringArray(pick(data, ['KeyList', 'keyList'])) ?? [],
|
|
78
|
+
Addresses: asStringArray(pick(data, ['Addresses', 'addresses'])) ?? [],
|
|
79
|
+
SigList: asRecordOptional(pick(data, ['SigList', 'sigList'])),
|
|
80
|
+
BrokerArray: asStringArray(pick(data, ['BrokerArray', 'brokerArray'])) ?? [],
|
|
81
|
+
},
|
|
82
|
+
Timepoint: requireString(pick(src, ['Timepoint', 'timepoint']), 'Timepoint'),
|
|
83
|
+
status: requireString(pick(src, ['status']), 'status'),
|
|
84
|
+
originator: requireString(pick(src, ['originator', 'Originator']), 'originator'),
|
|
85
|
+
};
|
|
86
|
+
const parsed = McpGroupRequestSchema.safeParse(normalized);
|
|
87
|
+
return parsed.success ? parsed.data : undefined;
|
|
88
|
+
}
|
|
89
|
+
export function normalizeGroupResult(value) {
|
|
90
|
+
if (!value || typeof value !== 'object') {
|
|
91
|
+
return undefined;
|
|
92
|
+
}
|
|
93
|
+
const src = value;
|
|
94
|
+
const normalized = {
|
|
95
|
+
requestid: requireString(pick(src, ['requestid', 'RequestId', 'id']), 'requestid'),
|
|
96
|
+
GroupId: requireString(pick(src, ['GroupId', 'groupId']), 'GroupId'),
|
|
97
|
+
KeyList: asStringArray(pick(src, ['KeyList', 'keyList'])) ?? [],
|
|
98
|
+
Addresses: asStringArray(pick(src, ['Addresses', 'addresses'])) ?? [],
|
|
99
|
+
SigList: asRecordOptional(pick(src, ['SigList', 'sigList'])),
|
|
100
|
+
BrokerArray: asStringArray(pick(src, ['BrokerArray', 'brokerArray'])) ?? [],
|
|
101
|
+
timepoint: requireString(pick(src, ['timepoint', 'Timepoint']), 'timepoint'),
|
|
102
|
+
originator: asOptionalString(pick(src, ['originator', 'Originator'])),
|
|
103
|
+
};
|
|
104
|
+
const parsed = McpGroupResultSchema.safeParse(normalized);
|
|
105
|
+
return parsed.success ? parsed.data : undefined;
|
|
106
|
+
}
|
|
107
|
+
export function normalizeLegacyGroupListEntry(value) {
|
|
108
|
+
if (!value || typeof value !== 'object') {
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
111
|
+
const src = value;
|
|
112
|
+
const groupId = asOptionalString(pick(src, ['groupId', 'GroupId']));
|
|
113
|
+
const keyList = asStringArray(pick(src, ['nodeKeys', 'KeyList', 'keyList']));
|
|
114
|
+
if (!groupId || !keyList) {
|
|
115
|
+
return undefined;
|
|
116
|
+
}
|
|
117
|
+
const requestIdRaw = `legacy_${groupId}`;
|
|
118
|
+
const requestId = GroupRequestIdSchema.safeParse(requestIdRaw).success
|
|
119
|
+
? requestIdRaw
|
|
120
|
+
: requestIdRaw;
|
|
121
|
+
return normalizeGroupResult({
|
|
122
|
+
requestid: requestId,
|
|
123
|
+
GroupId: groupId,
|
|
124
|
+
KeyList: keyList,
|
|
125
|
+
Addresses: [],
|
|
126
|
+
SigList: {},
|
|
127
|
+
BrokerArray: [],
|
|
128
|
+
timepoint: '',
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
export function normalizeKeyGenRequest(value) {
|
|
132
|
+
if (!value || typeof value !== 'object') {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
const src = value;
|
|
136
|
+
const threshold = pick(src, ['Threshold', 'threshold']);
|
|
137
|
+
if (typeof threshold !== 'number' || Number.isNaN(threshold)) {
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
const normalized = {
|
|
141
|
+
requestid: requireString(pick(src, ['requestid', 'RequestId', 'id']), 'requestid'),
|
|
142
|
+
GroupId: requireString(pick(src, ['GroupId', 'groupId']), 'GroupId'),
|
|
143
|
+
KeyType: requireString(pick(src, ['KeyType', 'keyType']), 'KeyType'),
|
|
144
|
+
MsgCheck: requireString(pick(src, ['MsgCheck', 'msgCheck']), 'MsgCheck'),
|
|
145
|
+
SigList: asRecordOptional(pick(src, ['SigList', 'sigList'])),
|
|
146
|
+
Gate: threshold + 1,
|
|
147
|
+
timepoint: requireString(pick(src, ['timepoint', 'Timepoint']), 'timepoint'),
|
|
148
|
+
status: asOptionalString(pick(src, ['status'])),
|
|
149
|
+
originator: asOptionalString(pick(src, ['originator', 'Originator'])),
|
|
150
|
+
};
|
|
151
|
+
const parsed = KeyGenRequestSchema.safeParse(normalized);
|
|
152
|
+
return parsed.success ? parsed.data : undefined;
|
|
153
|
+
}
|
|
154
|
+
export function normalizeKeyGenResult(value) {
|
|
155
|
+
if (!value || typeof value !== 'object') {
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
const src = value;
|
|
159
|
+
const rawThreshold = pick(src, ['threshold', 'Threshold']);
|
|
160
|
+
const gate = typeof rawThreshold === 'number' && !Number.isNaN(rawThreshold)
|
|
161
|
+
? rawThreshold + 1
|
|
162
|
+
: undefined;
|
|
163
|
+
const normalized = {
|
|
164
|
+
requestid: requireString(pick(src, ['requestid', 'RequestId', 'id']), 'requestid'),
|
|
165
|
+
pubkeyhex: asOptionalString(pick(src, ['pubkeyhex', 'PubKeyHex'])),
|
|
166
|
+
ethereumaddress: asOptionalString(pick(src, ['ethereumaddress', 'EthereumAddress'])),
|
|
167
|
+
solanaaddress: asOptionalString(pick(src, ['solanaaddress', 'SolanaAddress'])),
|
|
168
|
+
sorobanaddress: asOptionalString(pick(src, ['sorobanaddress', 'SorobanAddress'])),
|
|
169
|
+
nearaddress: asOptionalString(pick(src, ['nearaddress', 'NearAddress'])),
|
|
170
|
+
tonaddress: asOptionalString(pick(src, ['tonaddress', 'TonAddress'])),
|
|
171
|
+
keylist: asStringArray(pick(src, ['keylist', 'KeyList'])),
|
|
172
|
+
groupid: asOptionalString(pick(src, ['groupid', 'GroupId'])),
|
|
173
|
+
gate,
|
|
174
|
+
keytype: asOptionalString(pick(src, ['keytype', 'KeyType'])),
|
|
175
|
+
msgcheck: asOptionalString(pick(src, ['msgcheck', 'MsgCheck'])),
|
|
176
|
+
savedata: asOptionalString(pick(src, ['savedata', 'SaveData'])),
|
|
177
|
+
globalnonce: typeof pick(src, ['globalnonce', 'GlobalNonce']) === 'number'
|
|
178
|
+
? pick(src, ['globalnonce', 'GlobalNonce'])
|
|
179
|
+
: undefined,
|
|
180
|
+
timepoint: requireString(pick(src, ['timepoint', 'Timepoint']), 'timepoint'),
|
|
181
|
+
status: asOptionalString(pick(src, ['status'])),
|
|
182
|
+
};
|
|
183
|
+
const parsed = KeyGenResultSchema.safeParse(normalized);
|
|
184
|
+
return parsed.success ? parsed.data : undefined;
|
|
185
|
+
}
|
|
186
|
+
export function extractStatus(payload) {
|
|
187
|
+
if (!payload || typeof payload !== 'object') {
|
|
188
|
+
return undefined;
|
|
189
|
+
}
|
|
190
|
+
const status = payload.status;
|
|
191
|
+
return typeof status === 'string' ? status : undefined;
|
|
192
|
+
}
|
|
193
|
+
export function normalizeKnownAddressForChain(chainType, address) {
|
|
194
|
+
const t = chainType.trim().toLowerCase();
|
|
195
|
+
const a = address.trim();
|
|
196
|
+
if (t === 'ethereum' && /^0x[a-fA-F0-9]{40}$/.test(a)) {
|
|
197
|
+
return a.toLowerCase();
|
|
198
|
+
}
|
|
199
|
+
return a;
|
|
200
|
+
}
|
|
201
|
+
export function normalizeChainId(chainId) {
|
|
202
|
+
return typeof chainId === 'number' ? String(chainId) : chainId.trim();
|
|
203
|
+
}
|
|
204
|
+
//# sourceMappingURL=normalize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/mcp/normalize.ts"],"names":[],"mappings":"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"}
|