@continuumdao/continuum-node-sdk 1.1.1 → 1.2.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.
Files changed (56) hide show
  1. package/dist/core/groups.d.ts +7 -1
  2. package/dist/core/groups.d.ts.map +1 -1
  3. package/dist/core/groups.js +38 -18
  4. package/dist/core/groups.js.map +1 -1
  5. package/dist/core/keygen.d.ts +12 -1
  6. package/dist/core/keygen.d.ts.map +1 -1
  7. package/dist/core/keygen.js +44 -22
  8. package/dist/core/keygen.js.map +1 -1
  9. package/dist/core/management-signer.d.ts +19 -20
  10. package/dist/core/management-signer.d.ts.map +1 -1
  11. package/dist/core/management-signer.js +150 -129
  12. package/dist/core/management-signer.js.map +1 -1
  13. package/dist/core/mpc/broadcast-sign-result.d.ts +11 -0
  14. package/dist/core/mpc/broadcast-sign-result.d.ts.map +1 -1
  15. package/dist/core/mpc/broadcast-sign-result.js +65 -24
  16. package/dist/core/mpc/broadcast-sign-result.js.map +1 -1
  17. package/dist/core/mpc/schemas.d.ts +46 -0
  18. package/dist/core/mpc/schemas.d.ts.map +1 -1
  19. package/dist/core/mpc/schemas.js +49 -0
  20. package/dist/core/mpc/schemas.js.map +1 -1
  21. package/dist/core/mpc/sign-request-lifecycle.d.ts +57 -0
  22. package/dist/core/mpc/sign-request-lifecycle.d.ts.map +1 -0
  23. package/dist/core/mpc/sign-request-lifecycle.js +166 -0
  24. package/dist/core/mpc/sign-request-lifecycle.js.map +1 -0
  25. package/dist/core/mpc/sign-request-utils.d.ts +1 -0
  26. package/dist/core/mpc/sign-request-utils.d.ts.map +1 -1
  27. package/dist/core/mpc/sign-request-utils.js +9 -0
  28. package/dist/core/mpc/sign-request-utils.js.map +1 -1
  29. package/dist/core/mpc/trigger-sign-result.d.ts +2 -0
  30. package/dist/core/mpc/trigger-sign-result.d.ts.map +1 -1
  31. package/dist/core/mpc/trigger-sign-result.js +30 -17
  32. package/dist/core/mpc/trigger-sign-result.js.map +1 -1
  33. package/dist/core/registry/address-book.d.ts +12 -1
  34. package/dist/core/registry/address-book.d.ts.map +1 -1
  35. package/dist/core/registry/address-book.js +49 -29
  36. package/dist/core/registry/address-book.js.map +1 -1
  37. package/dist/core/registry/networks.d.ts +5 -1
  38. package/dist/core/registry/networks.d.ts.map +1 -1
  39. package/dist/core/registry/networks.js +51 -31
  40. package/dist/core/registry/networks.js.map +1 -1
  41. package/dist/core/registry/tokens.d.ts +41 -17
  42. package/dist/core/registry/tokens.d.ts.map +1 -1
  43. package/dist/core/registry/tokens.js +77 -59
  44. package/dist/core/registry/tokens.js.map +1 -1
  45. package/dist/core/schemas.d.ts +0 -25
  46. package/dist/core/schemas.d.ts.map +1 -1
  47. package/dist/core/schemas.js +0 -16
  48. package/dist/core/schemas.js.map +1 -1
  49. package/dist/index.d.ts +15 -9
  50. package/dist/index.d.ts.map +1 -1
  51. package/dist/index.js +15 -9
  52. package/dist/index.js.map +1 -1
  53. package/dist/mcp/mpc.d.ts.map +1 -1
  54. package/dist/mcp/mpc.js +64 -2
  55. package/dist/mcp/mpc.js.map +1 -1
  56. package/package.json +1 -1
@@ -277,92 +277,37 @@ export async function getManagementSigningContext(config, signing) {
277
277
  },
278
278
  };
279
279
  }
280
+ function validateManagementUnsignedBody(unsignedBody) {
281
+ const nonce = unsignedBody.nonce;
282
+ const nodeKey = unsignedBody.nodeKey;
283
+ const clientSig = unsignedBody.clientSig;
284
+ if (typeof nonce !== 'number' || Number.isNaN(nonce)) {
285
+ return { ok: false, reason: 'Unsigned body missing valid nonce.' };
286
+ }
287
+ if (typeof nodeKey !== 'string' || nodeKey.trim().length === 0) {
288
+ return { ok: false, reason: 'Unsigned body missing nodeKey.' };
289
+ }
290
+ if (clientSig !== undefined &&
291
+ clientSig !== null &&
292
+ String(clientSig).trim().length > 0) {
293
+ return { ok: false, reason: 'Unsigned body must have an empty clientSig.' };
294
+ }
295
+ return { ok: true, data: { nonce, nodeKey: nodeKey.trim() } };
296
+ }
280
297
  export function buildManagementPostBody(signed, signing, canonicalJson) {
281
298
  if (signing.kind === 'eip191') {
282
299
  return { ...signed, signedMessage: canonicalJson };
283
300
  }
284
301
  return { ...signed };
285
302
  }
286
- export async function managementSignEd25519(config, requestFields, options = {}) {
287
- let keyInfo;
288
- if (options.publicKey !== undefined && options.nonce !== undefined) {
289
- const nodeIdResult = await nodeId(config);
290
- if (!nodeIdResult.ok) {
291
- return nodeIdResult;
292
- }
293
- keyInfo = {
294
- publicKey: options.publicKey,
295
- nonce: options.nonce,
296
- nodeKey: nodeIdResult.data.nodeId,
297
- };
298
- }
299
- else {
300
- const ctx = await getManagementSigningContext(config, { kind: 'ed25519' });
301
- if (!ctx.ok) {
302
- return ctx;
303
- }
304
- keyInfo = ctx.data;
305
- }
306
- const publicKey = keyInfo.publicKey;
307
- if (!publicKey) {
308
- return { ok: false, reason: 'No Ed25519 management signing key available.' };
309
- }
310
- const resolvedKeyPath = options.keyPath ?? resolveKeyPathForPublicKey(config, publicKey);
311
- if (!resolvedKeyPath) {
312
- return {
313
- ok: false,
314
- reason: `No local private key found for signer ${publicKey}`,
315
- };
316
- }
317
- const unsigned = buildManagementUnsignedBody(keyInfo, requestFields);
318
- const canonicalJson = buildManagementCanonicalJson(unsigned);
319
- const signature = signUtf8Message(resolvedKeyPath, canonicalJson);
320
- const body = {
321
- nonce: keyInfo.nonce,
322
- nodeKey: keyInfo.nodeKey,
323
- ...requestFields,
324
- clientSig: signature,
325
- };
326
- return { ok: true, data: { body, canonicalJson } };
327
- }
328
- export async function managementSignEIP191(config, signing, requestFields) {
329
- const keyInfo = await getManagementSigningContext(config, signing);
330
- if (!keyInfo.ok) {
331
- return keyInfo;
332
- }
333
- const unsigned = buildManagementUnsignedBody(keyInfo.data, requestFields);
334
- const canonicalJson = buildManagementCanonicalJson(unsigned);
335
- const signature = await signing.signMessage(canonicalJson);
336
- const body = {
337
- nonce: keyInfo.data.nonce,
338
- nodeKey: keyInfo.data.nodeKey,
339
- ...requestFields,
340
- clientSig: signature.trim().replace(/^0x/i, ''),
341
- };
342
- return { ok: true, data: { body, canonicalJson } };
343
- }
344
- export async function managementSign(config, signing, requestFields, options = {}) {
345
- if (signing.kind === 'eip191') {
346
- const signed = await managementSignEIP191(config, signing, requestFields);
347
- if (!signed.ok) {
348
- return signed;
349
- }
350
- return { ok: true, data: signed.data.body };
351
- }
352
- const signed = await managementSignEd25519(config, requestFields, options);
353
- if (!signed.ok) {
354
- return signed;
355
- }
356
- return { ok: true, data: signed.data.body };
357
- }
358
- export async function prepareSignedManagementRequest(config, signing, buildRequestFields) {
303
+ export async function buildManagementPostRequest(config, args, signing = DEFAULT_MANAGEMENT_SIGNING) {
359
304
  return runSigned(async () => {
360
305
  const nodeKeyResult = await nodeId(config);
361
306
  if (!nodeKeyResult.ok) {
362
307
  throw sdkError(nodeKeyResult.reason);
363
308
  }
364
309
  let selectedSigningKey;
365
- let signOptions = {};
310
+ let keyInfo;
366
311
  if (signing.kind === 'ed25519') {
367
312
  const signersResult = await getManagementSigners(config);
368
313
  if (!signersResult.ok) {
@@ -373,64 +318,108 @@ export async function prepareSignedManagementRequest(config, signing, buildReque
373
318
  throw sdkError(selectedResult.reason);
374
319
  }
375
320
  selectedSigningKey = selectedResult.data;
376
- signOptions = {
321
+ keyInfo = {
377
322
  publicKey: selectedSigningKey.value,
378
323
  nonce: selectedSigningKey.nonce,
324
+ nodeKey: nodeKeyResult.data.nodeId,
379
325
  };
380
326
  await assertAgentCanSignManagementRequests(config, {
381
327
  keyRoot: MPA_HOME_DIR,
382
328
  toMcpApiError: sdkError,
383
329
  });
384
330
  }
385
- const requestFields = await buildRequestFields({
331
+ else {
332
+ const ctx = await getManagementSigningContext(config, signing);
333
+ if (!ctx.ok) {
334
+ throw sdkError(ctx.reason);
335
+ }
336
+ keyInfo = ctx.data;
337
+ }
338
+ const requestFields = await args.buildRequestFields({
386
339
  nodeKey: nodeKeyResult.data.nodeId,
387
340
  selectedSigningKey,
388
341
  });
389
- if (signing.kind === 'eip191') {
390
- const signed = await managementSignEIP191(config, signing, requestFields);
391
- if (!signed.ok) {
392
- throw sdkError(signed.reason);
393
- }
394
- return {
395
- selectedSigningKey,
396
- body: buildManagementPostBody(signed.data.body, signing, signed.data.canonicalJson),
397
- canonicalJson: signed.data.canonicalJson,
398
- signingMessage: signed.data.canonicalJson,
399
- signature: String(signed.data.body.clientSig),
400
- };
401
- }
402
- const signed = await managementSignEd25519(config, requestFields, signOptions);
403
- if (!signed.ok) {
404
- throw sdkError(signed.reason);
405
- }
342
+ const unsignedBody = buildManagementUnsignedBody(keyInfo, requestFields);
343
+ const canonicalJson = buildManagementCanonicalJson(unsignedBody);
406
344
  return {
345
+ path: args.path,
346
+ unsignedBody,
347
+ canonicalJson,
407
348
  selectedSigningKey,
408
- body: buildManagementPostBody(signed.data.body, signing, signed.data.canonicalJson),
409
- canonicalJson: signed.data.canonicalJson,
410
- signingMessage: signed.data.canonicalJson,
411
- signature: String(signed.data.body.clientSig),
412
349
  };
413
350
  });
414
351
  }
415
- export function buildClientSigManagementPostBody(unsignedBody, signedMessage, clientSig) {
416
- const { Sig: _sig, clientSig: _clientSig, ...fields } = unsignedBody;
417
- void _sig;
418
- void _clientSig;
419
- return { ...fields, signedMessage, clientSig };
352
+ export async function managementSignEd25519(config, unsignedBody, options = {}) {
353
+ const validated = validateManagementUnsignedBody(unsignedBody);
354
+ if (!validated.ok) {
355
+ return validated;
356
+ }
357
+ let publicKey = options.publicKey;
358
+ if (!publicKey) {
359
+ const clientPk = unsignedBody.clientPk;
360
+ if (typeof clientPk === 'string' && clientPk.trim().length > 0) {
361
+ publicKey = clientPk.trim();
362
+ }
363
+ }
364
+ if (!publicKey) {
365
+ const signer = await getPreferredManagementSigner(config);
366
+ if (!signer.ok) {
367
+ return signer;
368
+ }
369
+ publicKey = signer.data.publicKey;
370
+ }
371
+ const resolvedKeyPath = options.keyPath ??
372
+ resolveKeyPathForPublicKey(config, publicKey) ??
373
+ (await resolvePrivateKeyPathForPublicKey(publicKey, MPA_HOME_DIR, config, sdkError).catch(() => undefined));
374
+ if (!resolvedKeyPath) {
375
+ return {
376
+ ok: false,
377
+ reason: `No local private key found for signer ${publicKey}`,
378
+ };
379
+ }
380
+ const canonicalJson = buildManagementCanonicalJson(unsignedBody);
381
+ const signature = signUtf8Message(resolvedKeyPath, canonicalJson);
382
+ const body = {
383
+ ...unsignedBody,
384
+ nonce: validated.data.nonce,
385
+ nodeKey: validated.data.nodeKey,
386
+ clientSig: signature,
387
+ };
388
+ return { ok: true, data: { body, canonicalJson } };
389
+ }
390
+ export async function managementSignEIP191(config, signing, unsignedBody) {
391
+ const validated = validateManagementUnsignedBody(unsignedBody);
392
+ if (!validated.ok) {
393
+ return validated;
394
+ }
395
+ const canonicalJson = buildManagementCanonicalJson(unsignedBody);
396
+ const signature = await signing.signMessage(canonicalJson);
397
+ const body = {
398
+ ...unsignedBody,
399
+ nonce: validated.data.nonce,
400
+ nodeKey: validated.data.nodeKey,
401
+ clientSig: signature.trim().replace(/^0x/i, ''),
402
+ };
403
+ return { ok: true, data: { body, canonicalJson } };
420
404
  }
421
- export async function prepareActionSignedManagementRequest(config, signing, buildRequestFields) {
422
- const prepared = await prepareSignedManagementRequest(config, signing, buildRequestFields);
423
- if (!prepared.ok) {
424
- return prepared;
405
+ export async function managementSign(config, signing, unsignedBody, options = {}) {
406
+ if (signing.kind === 'eip191') {
407
+ const signed = await managementSignEIP191(config, signing, unsignedBody);
408
+ if (!signed.ok) {
409
+ return signed;
410
+ }
411
+ return {
412
+ ok: true,
413
+ data: buildManagementPostBody(signed.data.body, signing, signed.data.canonicalJson),
414
+ };
415
+ }
416
+ const signed = await managementSignEd25519(config, unsignedBody, options);
417
+ if (!signed.ok) {
418
+ return signed;
425
419
  }
426
420
  return {
427
421
  ok: true,
428
- data: {
429
- selectedSigningKey: prepared.data.selectedSigningKey,
430
- signingMessage: prepared.data.signingMessage,
431
- signature: prepared.data.signature,
432
- body: prepared.data.body,
433
- },
422
+ data: buildManagementPostBody(signed.data.body, signing, signed.data.canonicalJson),
434
423
  };
435
424
  }
436
425
  export function toSelectedSigningKey(option) {
@@ -478,18 +467,26 @@ export async function getManagementSigner(config) {
478
467
  },
479
468
  };
480
469
  }
481
- export async function setPreferredManagementSigner(config, publicKey, signing = DEFAULT_MANAGEMENT_SIGNING) {
470
+ export async function buildSetPreferredManagementSigner(config, publicKey, signing = DEFAULT_MANAGEMENT_SIGNING) {
482
471
  const parsedKey = EdDSAPubKeySchema.safeParse(publicKey.replace(/^0x/i, ''));
483
472
  if (!parsedKey.success) {
484
473
  return { ok: false, reason: 'Invalid management public key.' };
485
474
  }
486
- const signed = await managementSign(config, signing, {
487
- publicKey: parsedKey.data,
488
- });
475
+ return buildManagementPostRequest(config, {
476
+ path: '/setPreferredSigner',
477
+ buildRequestFields: () => ({ publicKey: parsedKey.data }),
478
+ }, signing);
479
+ }
480
+ export async function setPreferredManagementSigner(config, publicKey, signing = DEFAULT_MANAGEMENT_SIGNING) {
481
+ const built = await buildSetPreferredManagementSigner(config, publicKey, signing);
482
+ if (!built.ok) {
483
+ return built;
484
+ }
485
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
489
486
  if (!signed.ok) {
490
487
  return signed;
491
488
  }
492
- const response = await managementPost(config, '/setPreferredSigner', signed.data);
489
+ const response = await managementPost(config, built.data.path, signed.data);
493
490
  if (!response.ok) {
494
491
  return response;
495
492
  }
@@ -574,6 +571,35 @@ export async function createManagementSignerKeypair(config) {
574
571
  },
575
572
  };
576
573
  }
574
+ export async function buildAddManagementSigner(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
575
+ let normalizedNewPublicKey;
576
+ try {
577
+ normalizedNewPublicKey = normalizeEd25519PublicKeyToHex(input.newPublicKey);
578
+ }
579
+ catch (error) {
580
+ return {
581
+ ok: false,
582
+ reason: error instanceof Error ? error.message : String(error),
583
+ };
584
+ }
585
+ const parsedKey = EdDSAPubKeySchema.safeParse(normalizedNewPublicKey);
586
+ if (!parsedKey.success) {
587
+ return { ok: false, reason: 'Invalid new public key.' };
588
+ }
589
+ return buildManagementPostRequest(config, {
590
+ path: '/addManagementKey',
591
+ buildRequestFields: ({ selectedSigningKey }) => {
592
+ if (!selectedSigningKey) {
593
+ throw sdkError('Ed25519 signing key required to add a management signer.');
594
+ }
595
+ if (normalizeEd25519PublicKeyToHex(selectedSigningKey.value) ===
596
+ parsedKey.data) {
597
+ throw sdkError('Signer key cannot be the newly created key being added.');
598
+ }
599
+ return { newPublicKey: parsedKey.data };
600
+ },
601
+ }, signing);
602
+ }
577
603
  export async function addManagementSigner(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
578
604
  let normalizedNewPublicKey;
579
605
  try {
@@ -589,20 +615,15 @@ export async function addManagementSigner(config, input, signing = DEFAULT_MANAG
589
615
  if (!parsedKey.success) {
590
616
  return { ok: false, reason: 'Invalid new public key.' };
591
617
  }
592
- const signed = await prepareSignedManagementRequest(config, signing, ({ selectedSigningKey }) => {
593
- if (!selectedSigningKey) {
594
- throw sdkError('Ed25519 signing key required to add a management signer.');
595
- }
596
- if (normalizeEd25519PublicKeyToHex(selectedSigningKey.value) ===
597
- parsedKey.data) {
598
- throw sdkError('Signer key cannot be the newly created key being added.');
599
- }
600
- return { newPublicKey: parsedKey.data };
601
- });
618
+ const built = await buildAddManagementSigner(config, input, signing);
619
+ if (!built.ok) {
620
+ return built;
621
+ }
622
+ const signed = await managementSign(config, signing, built.data.unsignedBody);
602
623
  if (!signed.ok) {
603
624
  return signed;
604
625
  }
605
- const posted = await managementPost(config, '/addManagementKey', signed.data.body);
626
+ const posted = await managementPost(config, built.data.path, signed.data);
606
627
  if (!posted.ok) {
607
628
  return posted;
608
629
  }
@@ -611,7 +632,7 @@ export async function addManagementSigner(config, input, signing = DEFAULT_MANAG
611
632
  data: {
612
633
  success: true,
613
634
  publicKey: parsedKey.data,
614
- nodeKey: String(signed.data.body.nodeKey),
635
+ nodeKey: String(built.data.unsignedBody.nodeKey),
615
636
  },
616
637
  };
617
638
  }
@@ -1 +1 @@
1
- {"version":3,"file":"management-signer.js","sourceRoot":"","sources":["../../src/core/management-signer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"management-signer.js","sourceRoot":"","sources":["../../src/core/management-signer.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,17 @@
1
1
  import type { NodeSdkConfig } from '../../config/schema.js';
2
2
  import { type ManagementSigningMethod } from '../../schemas/extended.js';
3
3
  import type { SdkResult } from '../result.js';
4
+ import { type BuiltManagementPostRequest } from '../management-signer.js';
5
+ export type BuiltBroadcastSignResult = {
6
+ readonly signedTxHexes: string[];
7
+ readonly requestId: string;
8
+ readonly chainId: number;
9
+ };
10
+ export declare function buildBroadcastSignResult(config: NodeSdkConfig, input: unknown): Promise<SdkResult<BuiltBroadcastSignResult>>;
11
+ export declare function buildBroadcastSignResultStatusUpdate(config: NodeSdkConfig, input: {
12
+ requestId: string;
13
+ txHashes: string[];
14
+ }, signing?: ManagementSigningMethod): Promise<SdkResult<BuiltManagementPostRequest>>;
4
15
  export declare function broadcastSignResult(config: NodeSdkConfig, input: unknown, signing?: ManagementSigningMethod): Promise<SdkResult<{
5
16
  requestId: string;
6
17
  txHashes: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"broadcast-sign-result.d.ts","sourceRoot":"","sources":["../../../src/core/mpc/broadcast-sign-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAmB5C,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAC,CAAC,CAAC,CAgJjF"}
1
+ {"version":3,"file":"broadcast-sign-result.d.ts","sourceRoot":"","sources":["../../../src/core/mpc/broadcast-sign-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAEN,KAAK,uBAAuB,EAC5B,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,cAAc,CAAC;AAkB5C,OAAO,EAGN,KAAK,0BAA0B,EAC/B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,wBAAwB,GAAG;IACtC,QAAQ,CAAC,aAAa,EAAE,MAAM,EAAE,CAAC;IACjC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CACzB,CAAC;AAoGF,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,OAAO,GACZ,OAAO,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC,CAiB9C;AAED,wBAAsB,oCAAoC,CACzD,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAC,EAC9C,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC,0BAA0B,CAAC,CAAC,CAmBhD;AAED,wBAAsB,mBAAmB,CACxC,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE,uBAAoD,GAC3D,OAAO,CAAC,SAAS,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,UAAU,CAAA;CAAC,CAAC,CAAC,CAwEjF"}
@@ -1,22 +1,18 @@
1
1
  import { DEFAULT_MANAGEMENT_SIGNING, } from '../../schemas/extended.js';
2
2
  import { BroadcastSignResultInputSchema } from './schemas.js';
3
3
  import { buildBatchSignedTxsFromResult, broadcastErrorMessage, isBatchSignRequest, getBatchLength, } from './sign-request-utils.js';
4
- import { createPublicClientForChain, } from './context.js';
4
+ import { createPublicClientForChain } from './context.js';
5
5
  import { fetchKeyGenResult } from '../keygen.js';
6
6
  import { nodeId } from '../general.js';
7
- import { mpcGetSignRequestById, mpcGetSignResultById, mpcPostUpdateSignResultStatusById } from './client.js';
7
+ import { mpcGetSignRequestById, mpcGetSignResultById, mpcPostUpdateSignResultStatusById, } from './client.js';
8
8
  import { keyGenIdFromRecord } from './sign-request-utils.js';
9
9
  import { assertExecutorNativeSufficientForSignedHexes } from './gas-preflight.js';
10
- import { prepareSignedManagementRequest } from '../management-signer.js';
11
- export async function broadcastSignResult(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
12
- const parsed = BroadcastSignResultInputSchema.safeParse(input);
13
- if (!parsed.success) {
14
- return { ok: false, reason: 'Invalid broadcast sign result input.' };
15
- }
16
- const req = await mpcGetSignRequestById(config, parsed.data.requestId);
10
+ import { buildManagementPostRequest, managementSign, } from '../management-signer.js';
11
+ async function resolveBroadcastSignedHexes(config, requestId) {
12
+ const req = await mpcGetSignRequestById(config, requestId);
17
13
  if (!req.ok)
18
14
  return req;
19
- const signResult = await mpcGetSignResultById(config, parsed.data.requestId);
15
+ const signResult = await mpcGetSignResultById(config, requestId);
20
16
  if (!signResult.ok)
21
17
  return signResult;
22
18
  const result = signResult.data;
@@ -86,13 +82,61 @@ export async function broadcastSignResult(config, input, signing = DEFAULT_MANAG
86
82
  });
87
83
  if (!preflight.ok)
88
84
  return preflight;
89
- const ctx = await createPublicClientForChain(config, chainIdNum);
85
+ return {
86
+ ok: true,
87
+ data: {
88
+ signedTxHexes: signedHexes,
89
+ chainId: chainIdNum,
90
+ },
91
+ };
92
+ }
93
+ export async function buildBroadcastSignResult(config, input) {
94
+ const parsed = BroadcastSignResultInputSchema.safeParse(input);
95
+ if (!parsed.success) {
96
+ return { ok: false, reason: 'Invalid broadcast sign result input.' };
97
+ }
98
+ const resolved = await resolveBroadcastSignedHexes(config, parsed.data.requestId);
99
+ if (!resolved.ok)
100
+ return resolved;
101
+ return {
102
+ ok: true,
103
+ data: {
104
+ signedTxHexes: resolved.data.signedTxHexes,
105
+ requestId: parsed.data.requestId,
106
+ chainId: resolved.data.chainId,
107
+ },
108
+ };
109
+ }
110
+ export async function buildBroadcastSignResultStatusUpdate(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
111
+ if (input.txHashes.length === 0) {
112
+ return { ok: false, reason: 'At least one transaction hash is required.' };
113
+ }
114
+ return buildManagementPostRequest(config, {
115
+ path: '/updateSignResultStatusById',
116
+ buildRequestFields: () => ({
117
+ requestId: input.requestId,
118
+ status: 'executed',
119
+ ...(input.txHashes.length > 1
120
+ ? { batchTransactionHashes: input.txHashes }
121
+ : { transactionHash: input.txHashes[0] }),
122
+ }),
123
+ }, signing);
124
+ }
125
+ export async function broadcastSignResult(config, input, signing = DEFAULT_MANAGEMENT_SIGNING) {
126
+ const parsed = BroadcastSignResultInputSchema.safeParse(input);
127
+ if (!parsed.success) {
128
+ return { ok: false, reason: 'Invalid broadcast sign result input.' };
129
+ }
130
+ const built = await buildBroadcastSignResult(config, input);
131
+ if (!built.ok)
132
+ return built;
133
+ const ctx = await createPublicClientForChain(config, built.data.chainId);
90
134
  if (!ctx.ok)
91
135
  return ctx;
92
136
  const txHashes = [];
93
137
  const slowBatch = parsed.data.slowBatch === true;
94
- for (let i = 0; i < signedHexes.length; i++) {
95
- const hex = signedHexes[i];
138
+ for (let i = 0; i < built.data.signedTxHexes.length; i++) {
139
+ const hex = built.data.signedTxHexes[i];
96
140
  try {
97
141
  const txHash = (await ctx.data.publicClient.request({
98
142
  method: 'eth_sendRawTransaction',
@@ -104,10 +148,10 @@ export async function broadcastSignResult(config, input, signing = DEFAULT_MANAG
104
148
  const msg = e instanceof Error ? e.message : String(e);
105
149
  return {
106
150
  ok: false,
107
- reason: `Transaction ${i + 1} of ${signedHexes.length} failed: ${broadcastErrorMessage(msg)}`,
151
+ reason: `Transaction ${i + 1} of ${built.data.signedTxHexes.length} failed: ${broadcastErrorMessage(msg)}`,
108
152
  };
109
153
  }
110
- if (slowBatch && i < signedHexes.length - 1) {
154
+ if (slowBatch && i < built.data.signedTxHexes.length - 1) {
111
155
  const blockAfter = await ctx.data.publicClient.getBlockNumber();
112
156
  const slowDeadline = Date.now() + 6 * 60 * 1000;
113
157
  while (Date.now() < slowDeadline) {
@@ -129,15 +173,12 @@ export async function broadcastSignResult(config, input, signing = DEFAULT_MANAG
129
173
  },
130
174
  };
131
175
  }
132
- const signed = await prepareSignedManagementRequest(config, signing, () => ({
133
- requestId: parsed.data.requestId,
134
- status: 'executed',
135
- ...(txHashes.length > 1
136
- ? { batchTransactionHashes: txHashes }
137
- : { transactionHash: txHashes[0] }),
138
- }));
139
- if (signed.ok) {
140
- await mpcPostUpdateSignResultStatusById(config, signed.data.body);
176
+ const statusBuilt = await buildBroadcastSignResultStatusUpdate(config, { requestId: parsed.data.requestId, txHashes }, signing);
177
+ if (statusBuilt.ok) {
178
+ const signed = await managementSign(config, signing, statusBuilt.data.unsignedBody);
179
+ if (signed.ok) {
180
+ await mpcPostUpdateSignResultStatusById(config, signed.data);
181
+ }
141
182
  }
142
183
  return {
143
184
  ok: true,