@vultisig/core-mpc 1.0.1 → 1.0.2

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 (53) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/dkls/dkls.d.ts.map +1 -1
  3. package/dist/dkls/dkls.js +75 -49
  4. package/dist/dkls/dkls.js.map +1 -1
  5. package/dist/keysign/fee/resolvers/cosmos.d.ts.map +1 -1
  6. package/dist/keysign/fee/resolvers/cosmos.js +9 -10
  7. package/dist/keysign/fee/resolvers/cosmos.js.map +1 -1
  8. package/dist/keysign/index.js +13 -11
  9. package/dist/keysign/index.js.map +1 -1
  10. package/dist/keysign/refine/amount.js +1 -1
  11. package/dist/keysign/refine/amount.js.map +1 -1
  12. package/dist/keysign/setupMessage/make.d.ts.map +1 -1
  13. package/dist/keysign/setupMessage/make.js +2 -11
  14. package/dist/keysign/setupMessage/make.js.map +1 -1
  15. package/dist/keysign/signingInputs/resolvers/cardano.d.ts.map +1 -1
  16. package/dist/keysign/signingInputs/resolvers/cardano.js +25 -1
  17. package/dist/keysign/signingInputs/resolvers/cardano.js.map +1 -1
  18. package/dist/keysign/signingInputs/resolvers/ton/index.d.ts.map +1 -1
  19. package/dist/keysign/signingInputs/resolvers/ton/index.js +1 -0
  20. package/dist/keysign/signingInputs/resolvers/ton/index.js.map +1 -1
  21. package/dist/keysign/signingInputs/resolvers/ton/native.d.ts +2 -1
  22. package/dist/keysign/signingInputs/resolvers/ton/native.d.ts.map +1 -1
  23. package/dist/keysign/signingInputs/resolvers/ton/native.js +2 -1
  24. package/dist/keysign/signingInputs/resolvers/ton/native.js.map +1 -1
  25. package/dist/lib/initialize.d.ts +1 -1
  26. package/dist/lib/initialize.d.ts.map +1 -1
  27. package/dist/lib/initialize.js +4 -10
  28. package/dist/lib/initialize.js.map +1 -1
  29. package/dist/lib/keyshare.d.ts +1 -4
  30. package/dist/lib/keyshare.d.ts.map +1 -1
  31. package/dist/lib/keyshare.js +8 -8
  32. package/dist/lib/keyshare.js.map +1 -1
  33. package/dist/lib/signSession.d.ts +6 -5
  34. package/dist/lib/signSession.d.ts.map +1 -1
  35. package/dist/lib/signSession.js +38 -11
  36. package/dist/lib/signSession.js.map +1 -1
  37. package/dist/schnorr/schnorrKeygen.d.ts.map +1 -1
  38. package/dist/schnorr/schnorrKeygen.js +25 -17
  39. package/dist/schnorr/schnorrKeygen.js.map +1 -1
  40. package/dist/tx/compile/cardano/buildSignedCardanoTx.d.ts +28 -0
  41. package/dist/tx/compile/cardano/buildSignedCardanoTx.d.ts.map +1 -0
  42. package/dist/tx/compile/cardano/buildSignedCardanoTx.js +78 -0
  43. package/dist/tx/compile/cardano/buildSignedCardanoTx.js.map +1 -0
  44. package/dist/tx/compile/compileTx.d.ts +1 -1
  45. package/dist/tx/compile/compileTx.d.ts.map +1 -1
  46. package/dist/tx/compile/compileTx.js +33 -0
  47. package/dist/tx/compile/compileTx.js.map +1 -1
  48. package/dist/types/utils/commVault.js.map +1 -1
  49. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts +4 -0
  50. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts.map +1 -1
  51. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js +1 -1
  52. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js.map +1 -1
  53. package/package.json +8 -2
@@ -18,6 +18,7 @@ export const getTonSigningInputs = ({ keysignPayload, walletCore, }) => {
18
18
  to: msg.to,
19
19
  amount: msg.amount,
20
20
  payload: msg.payload,
21
+ stateInit: msg.stateInit,
21
22
  bounceable: isStakeOp ? true : !!bounceable,
22
23
  }))
23
24
  : [
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAE7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,UAAU,CAAA;AAEjB,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAChE,cAAc,EACd,UAAU,GACX,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;IAE3C,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,GACpB,GAAG,0BAA0B,CAC5B,cAAc,CAAC,kBAAkB,EACjC,aAAa,CACd,CAAA;IAED,MAAM,SAAS,GACb,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAE1E,MAAM,eAAe,GACnB,cAAc,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS;QACzC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW;QAC3C,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,QAAQ,GACZ,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC;QAC9D,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACxB,iCAAiC,CAAC;YAChC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;SAC5C,CAAC,CACH;QACH,CAAC,CAAC;YACE,SAAS,CAAC,IAAI,CAAC;gBACb,CAAC,CAAC,sBAAsB,CAAC;oBACrB,cAAc;oBACd,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;oBAC3C,aAAa;iBACd,CAAC;gBACJ,CAAC,CAAC,mBAAmB,CAAC;oBAClB,cAAc;oBACd,UAAU;oBACV,aAAa,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;oBAC/D,mBAAmB;iBACpB,CAAC;SACP,CAAA;IAEP,MAAM,KAAK,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QACxD,aAAa,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY;QACjE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACjD,QAAQ;QACR,SAAS,EAAE,qBAAqB,CAAC,cAAc,CAAC;KACjD,CAAC,CAAA;IAEF,OAAO,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAE7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,6CAA6C,CAAA;AACxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAA;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,EACL,sBAAsB,EACtB,iCAAiC,GAClC,MAAM,UAAU,CAAA;AAEjB,MAAM,CAAC,MAAM,mBAAmB,GAAiC,CAAC,EAChE,cAAc,EACd,UAAU,GACX,EAAE,EAAE;IACH,MAAM,IAAI,GAAG,cAAc,CAAC,cAAc,CAAC,CAAA;IAE3C,MAAM,EACJ,QAAQ,EACR,cAAc,EACd,UAAU,EACV,aAAa,EACb,aAAa,EACb,mBAAmB,GACpB,GAAG,0BAA0B,CAC5B,cAAc,CAAC,kBAAkB,EACjC,aAAa,CACd,CAAA;IAED,MAAM,SAAS,GACb,CAAC,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAA;IAE1E,MAAM,eAAe,GACnB,cAAc,CAAC,QAAQ,EAAE,IAAI,KAAK,SAAS;QACzC,CAAC,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW;QAC3C,CAAC,CAAC,SAAS,CAAA;IAEf,MAAM,QAAQ,GACZ,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC;QAC9D,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CACxB,iCAAiC,CAAC;YAChC,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAE,GAAG,CAAC,SAAS;YACxB,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;SAC5C,CAAC,CACH;QACH,CAAC,CAAC;YACE,SAAS,CAAC,IAAI,CAAC;gBACb,CAAC,CAAC,sBAAsB,CAAC;oBACrB,cAAc;oBACd,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU;oBAC3C,aAAa;iBACd,CAAC;gBACJ,CAAC,CAAC,mBAAmB,CAAC;oBAClB,cAAc;oBACd,UAAU;oBACV,aAAa,EAAE,eAAe,CAAC,aAAa,EAAE,gBAAgB,CAAC;oBAC/D,mBAAmB;iBACpB,CAAC;SACP,CAAA;IAEP,MAAM,KAAK,GAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QACxD,aAAa,EAAE,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,aAAa,CAAC,YAAY;QACjE,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACrC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACjD,QAAQ;QACR,SAAS,EAAE,qBAAqB,CAAC,cAAc,CAAC;KACjD,CAAC,CAAA;IAEF,OAAO,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC,CAAA"}
@@ -4,6 +4,7 @@ type BuildNativeTonTransferFromMessageInput = {
4
4
  to: string;
5
5
  amount: string;
6
6
  payload?: string;
7
+ stateInit?: string;
7
8
  bounceable: boolean;
8
9
  };
9
10
  type BuildNativeTonTransferInput = {
@@ -14,6 +15,6 @@ type BuildNativeTonTransferInput = {
14
15
  export declare const toSafeComment: (payload: string) => string;
15
16
  export declare const validateTonComment: (memo: string) => void;
16
17
  export declare const buildNativeTonTransfer: ({ keysignPayload, bounceable, sendMaxAmount, }: BuildNativeTonTransferInput) => TW.TheOpenNetwork.Proto.Transfer;
17
- export declare const buildNativeTonTransferFromMessage: ({ to, amount, payload, bounceable, }: BuildNativeTonTransferFromMessageInput) => TW.TheOpenNetwork.Proto.Transfer;
18
+ export declare const buildNativeTonTransferFromMessage: ({ to, amount, payload, stateInit, bounceable, }: BuildNativeTonTransferFromMessageInput) => TW.TheOpenNetwork.Proto.Transfer;
18
19
  export {};
19
20
  //# sourceMappingURL=native.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAA;AAEhG,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAG7C,KAAK,sCAAsC,GAAG;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,OAAO,CAAA;IACnB,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAOD,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,MAM/C,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,IAOjD,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,gDAIpC,2BAA2B,KAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAkBxD,CAAA;AAED,eAAO,MAAM,iCAAiC,GAAI,sCAK/C,sCAAsC,KAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAanE,CAAA"}
1
+ {"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iEAAiE,CAAA;AAEhG,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAG7C,KAAK,sCAAsC,GAAG;IAC5C,EAAE,EAAE,MAAM,CAAA;IACV,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,KAAK,2BAA2B,GAAG;IACjC,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,OAAO,CAAA;IACnB,aAAa,EAAE,OAAO,CAAA;CACvB,CAAA;AAOD,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,KAAG,MAM/C,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,MAAM,MAAM,KAAG,IAOjD,CAAA;AAED,eAAO,MAAM,sBAAsB,GAAI,gDAIpC,2BAA2B,KAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAkBxD,CAAA;AAED,eAAO,MAAM,iCAAiC,GAAI,iDAM/C,sCAAsC,KAAG,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAcnE,CAAA"}
@@ -33,7 +33,7 @@ export const buildNativeTonTransfer = ({ keysignPayload, bounceable, sendMaxAmou
33
33
  mode,
34
34
  });
35
35
  };
36
- export const buildNativeTonTransferFromMessage = ({ to, amount, payload = '', bounceable, }) => {
36
+ export const buildNativeTonTransferFromMessage = ({ to, amount, payload = '', stateInit, bounceable, }) => {
37
37
  const mode = TW.TheOpenNetwork.Proto.SendMode.PAY_FEES_SEPARATELY |
38
38
  TW.TheOpenNetwork.Proto.SendMode.IGNORE_ACTION_PHASE_ERRORS;
39
39
  return TW.TheOpenNetwork.Proto.Transfer.create({
@@ -42,6 +42,7 @@ export const buildNativeTonTransferFromMessage = ({ to, amount, payload = '', bo
42
42
  bounceable,
43
43
  comment: '',
44
44
  customPayload: payload || undefined,
45
+ stateInit: stateInit || undefined,
45
46
  mode,
46
47
  });
47
48
  };
@@ -1 +1 @@
1
- {"version":3,"file":"native.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AAevB,wFAAwF;AACxF,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B,MAAM,sBAAsB,GAAG,oBAAoB,kBAAkB,gEAAgE,CAAA;AAErI,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAU,EAAE;IACvD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAQ,EAAE;IACvD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,4BAA4B,kBAAkB,eAAe,KAAK,CAAC,MAAM,GAAG,CAC7E,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,cAAc,EACd,UAAU,EACV,aAAa,GACe,EAAoC,EAAE;IAClE,MAAM,IAAI,GACR,CAAC,aAAa;QACZ,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,2BAA2B;QAC9D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACzD,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAA;IAE7D,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,IAAI,CAAC,IAAI;QACX,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE5C,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,IAAI,EAAE,cAAc,CAAC,SAAS;QAC9B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QACnD,UAAU;QACV,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC;QACjD,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,EAChD,EAAE,EACF,MAAM,EACN,OAAO,GAAG,EAAE,EACZ,UAAU,GAC6B,EAAoC,EAAE;IAC7E,MAAM,IAAI,GACR,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB;QACpD,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAA;IAE7D,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;QACpE,UAAU;QACV,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,OAAO,IAAI,SAAS;QACnC,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA"}
1
+ {"version":3,"file":"native.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/native.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAA;AACrE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AAgBvB,wFAAwF;AACxF,MAAM,kBAAkB,GAAG,GAAG,CAAA;AAE9B,MAAM,sBAAsB,GAAG,oBAAoB,kBAAkB,gEAAgE,CAAA;AAErI,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAU,EAAE;IACvD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IAC/C,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;IACzC,CAAC;IACD,OAAO,OAAO,CAAA;AAChB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAQ,EAAE;IACvD,MAAM,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC5C,IAAI,KAAK,CAAC,MAAM,GAAG,kBAAkB,EAAE,CAAC;QACtC,MAAM,IAAI,KAAK,CACb,4BAA4B,kBAAkB,eAAe,KAAK,CAAC,MAAM,GAAG,CAC7E,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,EACrC,cAAc,EACd,UAAU,EACV,aAAa,GACe,EAAoC,EAAE;IAClE,MAAM,IAAI,GACR,CAAC,aAAa;QACZ,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,2BAA2B;QAC9D,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACzD,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAA;IAE7D,MAAM,MAAM,GAAG,aAAa;QAC1B,CAAC,CAAC,IAAI,CAAC,IAAI;QACX,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;IAE5C,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,IAAI,EAAE,cAAc,CAAC,SAAS;QAC9B,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC;QACnD,UAAU;QACV,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,IAAI,IAAI,EAAE,CAAC;QACjD,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,EAChD,EAAE,EACF,MAAM,EACN,OAAO,GAAG,EAAE,EACZ,SAAS,EACT,UAAU,GAC6B,EAAoC,EAAE;IAC7E,MAAM,IAAI,GACR,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB;QACpD,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAA;IAE7D,OAAO,EAAE,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC7C,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC;QACpE,UAAU;QACV,OAAO,EAAE,EAAE;QACX,aAAa,EAAE,OAAO,IAAI,SAAS;QACnC,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { SignatureAlgorithm } from '@vultisig/core-chain/signing/SignatureAlgorithm';
2
- export declare const initializeMpcLib: (algo: SignatureAlgorithm) => Promise<unknown>;
2
+ export declare const initializeMpcLib: (_algo: SignatureAlgorithm) => Promise<void>;
3
3
  //# sourceMappingURL=initialize.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AAcpF,eAAO,MAAM,gBAAgB,SAAuB,kBAAkB,qBAKrE,CAAA"}
1
+ {"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AAapF,eAAO,MAAM,gBAAgB,GAAI,OAAO,kBAAkB,kBACtC,CAAA"}
@@ -1,13 +1,7 @@
1
- import initializeDkls from '@vultisig/lib-dkls/vs_wasm';
2
- import initializeMldsa from '@vultisig/lib-mldsa';
3
- import initializeSchnorr from '@vultisig/lib-schnorr/vs_schnorr_wasm';
1
+ import { getMpcEngine } from '@vultisig/mpc-types';
2
+ import { memoizeAsync } from '@vultisig/lib-utils/memoizeAsync';
4
3
  import { prefixErrorWith } from '@vultisig/lib-utils/error/prefixErrorWith';
5
4
  import { transformError } from '@vultisig/lib-utils/error/transformError';
6
- import { memoizeAsync } from '@vultisig/lib-utils/memoizeAsync';
7
- const initialize = {
8
- ecdsa: initializeDkls,
9
- eddsa: initializeSchnorr,
10
- mldsa: initializeMldsa,
11
- };
12
- export const initializeMpcLib = memoizeAsync((algo) => transformError(initialize[algo](), prefixErrorWith('Failed to initialize MPC lib')));
5
+ const initializeEngine = memoizeAsync(() => transformError(getMpcEngine().initialize(), prefixErrorWith('Failed to initialize MPC lib')));
6
+ export const initializeMpcLib = (_algo) => initializeEngine();
13
7
  //# sourceMappingURL=initialize.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/initialize.ts"],"names":[],"mappings":"AACA,OAAO,cAAc,MAAM,4BAA4B,CAAA;AACvD,OAAO,eAAe,MAAM,qBAAqB,CAAA;AACjD,OAAO,iBAAiB,MAAM,uCAAuC,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AACzE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE/D,MAAM,UAAU,GAAuD;IACrE,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE,eAAe;CACvB,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,IAAwB,EAAE,EAAE,CACxE,cAAc,CACZ,UAAU,CAAC,IAAI,CAAC,EAAE,EAClB,eAAe,CAAC,8BAA8B,CAAC,CAChD,CACF,CAAA"}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/initialize.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,2CAA2C,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAA;AAEzE,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,EAAE,CACzC,cAAc,CACZ,YAAY,EAAE,CAAC,UAAU,EAAE,EAC3B,eAAe,CAAC,8BAA8B,CAAC,CAChD,CACF,CAAA;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAyB,EAAE,EAAE,CAC5D,gBAAgB,EAAE,CAAA"}
@@ -1,11 +1,8 @@
1
1
  import { SignatureAlgorithm } from '@vultisig/core-chain/signing/SignatureAlgorithm';
2
- import { Keyshare as DklsKeyshare } from '@vultisig/lib-dkls/vs_wasm';
3
- import { Keyshare as MldsaKeyshare } from '@vultisig/lib-mldsa';
4
- import { Keyshare as SchnorrKeyshare } from '@vultisig/lib-schnorr/vs_schnorr_wasm';
5
2
  type ToMpcLibKeyshareInput = {
6
3
  keyShare: string;
7
4
  signatureAlgorithm: SignatureAlgorithm;
8
5
  };
9
- export declare const toMpcLibKeyshare: ({ keyShare, signatureAlgorithm, }: ToMpcLibKeyshareInput) => DklsKeyshare | SchnorrKeyshare | MldsaKeyshare;
6
+ export declare const toMpcLibKeyshare: ({ keyShare, signatureAlgorithm, }: ToMpcLibKeyshareInput) => import("@vultisig/mpc-types").MpcKeyshare;
10
7
  export {};
11
8
  //# sourceMappingURL=keyshare.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyshare.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/keyshare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AACpF,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAWnF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,kBAAkB,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,mCAG9B,qBAAqB,mDACiD,CAAA"}
1
+ {"version":3,"file":"keyshare.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/keyshare.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AAGpF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,kBAAkB,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,mCAG9B,qBAAqB,8CAWvB,CAAA"}
@@ -1,10 +1,10 @@
1
- import { Keyshare as DklsKeyshare } from '@vultisig/lib-dkls/vs_wasm';
2
- import { Keyshare as MldsaKeyshare } from '@vultisig/lib-mldsa';
3
- import { Keyshare as SchnorrKeyshare } from '@vultisig/lib-schnorr/vs_schnorr_wasm';
4
- const Keyshare = {
5
- ecdsa: DklsKeyshare,
6
- eddsa: SchnorrKeyshare,
7
- mldsa: MldsaKeyshare,
1
+ import { getMpcEngine } from '@vultisig/mpc-types';
2
+ export const toMpcLibKeyshare = ({ keyShare, signatureAlgorithm, }) => {
3
+ if (signatureAlgorithm === 'mldsa') {
4
+ throw new Error('MLDSA uses a dedicated signing path (MldsaKeysign), not the pluggable MPC engine. ' +
5
+ 'Route MLDSA keyshares through packages/core/mpc/mldsa/ instead.');
6
+ }
7
+ const engineKey = signatureAlgorithm === 'eddsa' ? 'schnorr' : 'dkls';
8
+ return getMpcEngine()[engineKey].keyshareFromBytes(Buffer.from(keyShare, 'base64'));
8
9
  };
9
- export const toMpcLibKeyshare = ({ keyShare, signatureAlgorithm, }) => Keyshare[signatureAlgorithm].fromBytes(Buffer.from(keyShare, 'base64'));
10
10
  //# sourceMappingURL=keyshare.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyshare.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/keyshare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,4BAA4B,CAAA;AACrE,OAAO,EAAE,QAAQ,IAAI,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,uCAAuC,CAAA;AAEnF,MAAM,QAAQ,GAGV;IACF,KAAK,EAAE,YAAY;IACnB,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,aAAa;CACrB,CAAA;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,kBAAkB,GACI,EAAE,EAAE,CAC1B,QAAQ,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"keyshare.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/keyshare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAOlD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,kBAAkB,GACI,EAAE,EAAE;IAC1B,IAAI,kBAAkB,KAAK,OAAO,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,oFAAoF;YACpF,iEAAiE,CAClE,CAAA;IACH,CAAC;IACD,MAAM,SAAS,GAAG,kBAAkB,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;IACrE,OAAO,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAChD,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAChC,CAAA;AACH,CAAC,CAAA"}
@@ -1,14 +1,15 @@
1
1
  import { SignatureAlgorithm } from '@vultisig/core-chain/signing/SignatureAlgorithm';
2
- import { SignSession as DklsSignSession } from '@vultisig/lib-dkls/vs_wasm';
3
- import { SignSession as MldsaSignSession } from '@vultisig/lib-mldsa';
4
- import { SignSession as SchnorrSignSession } from '@vultisig/lib-schnorr/vs_schnorr_wasm';
5
- export declare const SignSession: Record<SignatureAlgorithm, typeof DklsSignSession | typeof SchnorrSignSession | typeof MldsaSignSession>;
2
+ type SignSessionMethods = {
3
+ setup: (keyId: Uint8Array, chainPath: string, messageHash: Uint8Array | null | undefined, partyIds: string[]) => Uint8Array;
4
+ setupMessageHash: (setupMsg: Uint8Array) => Uint8Array | undefined;
5
+ };
6
+ export declare const SignSession: Record<SignatureAlgorithm, SignSessionMethods>;
6
7
  type MakeSignSessionInput = {
7
8
  setupMessage: Uint8Array;
8
9
  localPartyId: string;
9
10
  keyShare: string;
10
11
  signatureAlgorithm: SignatureAlgorithm;
11
12
  };
12
- export declare const makeSignSession: ({ setupMessage, localPartyId, keyShare, signatureAlgorithm, }: MakeSignSessionInput) => DklsSignSession | SchnorrSignSession | MldsaSignSession;
13
+ export declare const makeSignSession: ({ setupMessage, localPartyId, keyShare, signatureAlgorithm, }: MakeSignSessionInput) => Promise<import("@vultisig/mpc-types").MpcSession<Uint8Array<ArrayBufferLike>>>;
13
14
  export {};
14
15
  //# sourceMappingURL=signSession.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"signSession.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/signSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AACpF,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAIzF,eAAO,MAAM,WAAW,EAAE,MAAM,CAC9B,kBAAkB,EAClB,OAAO,eAAe,GAAG,OAAO,kBAAkB,GAAG,OAAO,gBAAgB,CAK7E,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,YAAY,EAAE,UAAU,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,kBAAkB,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,+DAK7B,oBAAoB,4DAItB,CAAA"}
1
+ {"version":3,"file":"signSession.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/signSession.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AAepF,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,CACL,KAAK,EAAE,UAAU,EACjB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,EAC1C,QAAQ,EAAE,MAAM,EAAE,KACf,UAAU,CAAA;IACf,gBAAgB,EAAE,CAAC,QAAQ,EAAE,UAAU,KAAK,UAAU,GAAG,SAAS,CAAA;CACnE,CAAA;AAoBD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,kBAAkB,EAAE,kBAAkB,CAatE,CAAA;AAED,KAAK,oBAAoB,GAAG;IAC1B,YAAY,EAAE,UAAU,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,kBAAkB,EAAE,kBAAkB,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,eAAe,GAAU,+DAKnC,oBAAoB,mFAUtB,CAAA"}
@@ -1,15 +1,42 @@
1
- import { SignSession as DklsSignSession } from '@vultisig/lib-dkls/vs_wasm';
2
- import { SignSession as MldsaSignSession } from '@vultisig/lib-mldsa';
3
- import { SignSession as SchnorrSignSession } from '@vultisig/lib-schnorr/vs_schnorr_wasm';
1
+ import { getMpcEngine } from '@vultisig/mpc-types';
4
2
  import { toMpcLibKeyshare } from './keyshare.js';
3
+ const getEngineKey = (algo) => {
4
+ if (algo === 'mldsa') {
5
+ throw new Error('MLDSA uses a dedicated signing path (MldsaKeysign), not the pluggable MPC engine. ' +
6
+ 'Route MLDSA signing through packages/core/mpc/mldsa/ instead.');
7
+ }
8
+ return algo === 'eddsa' ? 'schnorr' : 'dkls';
9
+ };
10
+ const dklsMethods = {
11
+ setup: (...args) => getMpcEngine().dkls.signSetup(...args),
12
+ setupMessageHash: (setupMsg) => getMpcEngine().dkls.signSetupMessageHash(setupMsg),
13
+ };
14
+ const mldsaNotSupported = {
15
+ setup: () => {
16
+ throw new Error('MLDSA uses a dedicated signing path (MldsaKeysign), not the pluggable MPC engine.');
17
+ },
18
+ setupMessageHash: () => {
19
+ throw new Error('MLDSA uses a dedicated signing path (MldsaKeysign), not the pluggable MPC engine.');
20
+ },
21
+ };
5
22
  export const SignSession = {
6
- ecdsa: DklsSignSession,
7
- eddsa: SchnorrSignSession,
8
- mldsa: MldsaSignSession,
9
- };
10
- export const makeSignSession = ({ setupMessage, localPartyId, keyShare, signatureAlgorithm, }) => {
11
- const ks = toMpcLibKeyshare({ keyShare, signatureAlgorithm });
12
- const Session = SignSession[signatureAlgorithm];
13
- return new Session(setupMessage, localPartyId, ks);
23
+ ecdsa: dklsMethods,
24
+ mldsa: mldsaNotSupported,
25
+ eddsa: {
26
+ setup: (keyId, chainPath, messageHash, partyIds) => {
27
+ if (!messageHash) {
28
+ throw new Error('EdDSA signing requires a message hash');
29
+ }
30
+ return getMpcEngine().schnorr.signSetup(keyId, chainPath, messageHash, partyIds);
31
+ },
32
+ setupMessageHash: (setupMsg) => getMpcEngine().schnorr.signSetupMessageHash(setupMsg),
33
+ },
34
+ };
35
+ export const makeSignSession = async ({ setupMessage, localPartyId, keyShare, signatureAlgorithm, }) => {
36
+ const engineKey = getEngineKey(signatureAlgorithm);
37
+ return getMpcEngine()[engineKey].createSignSession(setupMessage, localPartyId, toMpcLibKeyshare({
38
+ keyShare,
39
+ signatureAlgorithm,
40
+ }));
14
41
  };
15
42
  //# sourceMappingURL=signSession.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"signSession.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/signSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,4BAA4B,CAAA;AAC3E,OAAO,EAAE,WAAW,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACrE,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,uCAAuC,CAAA;AAEzF,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,CAAC,MAAM,WAAW,GAGpB;IACF,KAAK,EAAE,eAAe;IACtB,KAAK,EAAE,kBAAkB;IACzB,KAAK,EAAE,gBAAgB;CACxB,CAAA;AASD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,kBAAkB,GACG,EAAE,EAAE;IACzB,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC7D,MAAM,OAAO,GAAG,WAAW,CAAC,kBAAkB,CAAC,CAAA;IAC/C,OAAO,IAAI,OAAO,CAAC,YAAY,EAAE,YAAY,EAAE,EAAW,CAAC,CAAA;AAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"signSession.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/signSession.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAElD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAA;AAE7C,MAAM,YAAY,GAAG,CAAC,IAAwB,EAAsB,EAAE;IACpE,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,oFAAoF;YACpF,+DAA+D,CAChE,CAAA;IACH,CAAC;IACD,OAAO,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAA;AAC9C,CAAC,CAAA;AAYD,MAAM,WAAW,GAAuB;IACtC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IAC1D,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC;CACnF,CAAA;AAED,MAAM,iBAAiB,GAAuB;IAC5C,KAAK,EAAE,GAAG,EAAE;QACV,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;IACH,CAAC;IACD,gBAAgB,EAAE,GAAG,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,mFAAmF,CACpF,CAAA;IACH,CAAC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,WAAW,GAAmD;IACzE,KAAK,EAAE,WAAW;IAClB,KAAK,EAAE,iBAAiB;IACxB,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE;YACjD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAA;YAC1D,CAAC;YACD,OAAO,YAAY,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAA;QAClF,CAAC;QACD,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAC7B,YAAY,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,QAAQ,CAAC;KACxD;CACF,CAAA;AASD,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,EAAE,EACpC,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,kBAAkB,GACG,EAAE,EAAE;IACzB,MAAM,SAAS,GAAG,YAAY,CAAC,kBAAkB,CAAC,CAAA;IAClD,OAAO,YAAY,EAAE,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAChD,YAAY,EACZ,YAAY,EACZ,gBAAgB,CAAC;QACf,QAAQ;QACR,kBAAkB;KACnB,CAAC,CACH,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"schnorrKeygen.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/schnorr/schnorrKeygen.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAW3D,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,uBAAuB,CAAkC;IACjE,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEhC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EAAE,EACzB,kBAAkB,EAAE,MAAM,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EAAE,mHAAmH;IAC7I,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB;YAiBW,eAAe;YA8Cf,cAAc;YA6Dd,WAAW;IA+CZ,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM;;;;;YAatC,YAAY;IAiGb,qBAAqB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,CAAC,EAAE,MAAM;;;;;IAeP,qBAAqB,CAChC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;YA6BF,cAAc;IAoFf,uBAAuB,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,MAAM;;;;;CAqB7B"}
1
+ {"version":3,"file":"schnorrKeygen.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/schnorr/schnorrKeygen.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAW3D,qBAAa,OAAO;IAClB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;IACzC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,uBAAuB,CAGhB;IACf,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;gBAEhC,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EAAE,EACzB,kBAAkB,EAAE,MAAM,EAAE,EAC5B,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,UAAU,EAAE,mHAAmH;IAC7I,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;KACnB;YAiBW,eAAe;YA8Cf,cAAc;YA6Dd,WAAW;IAmDZ,oBAAoB,CAAC,SAAS,CAAC,EAAE,MAAM;;;;;YAatC,YAAY;IAkGb,qBAAqB,CAChC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,SAAS,CAAC,EAAE,MAAM;;;;;IAeP,qBAAqB,CAChC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;YA+BF,cAAc;IAqFf,uBAAuB,CAClC,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,MAAM,EACvB,iBAAiB,CAAC,EAAE,MAAM;;;;;CAqB7B"}
@@ -1,4 +1,4 @@
1
- import { KeygenSession, KeyImportInitiator, KeyImportSession, Keyshare, QcSession, } from '@vultisig/lib-schnorr/vs_schnorr_wasm';
1
+ import { getMpcEngine } from '@vultisig/mpc-types';
2
2
  import { base64Encode } from '@vultisig/lib-utils/base64Encode';
3
3
  import { getKeygenThreshold } from '../getKeygenThreshold.js';
4
4
  import { getMessageHash } from '../getMessageHash.js';
@@ -146,13 +146,17 @@ export class Schnorr {
146
146
  console.log('session id:', this.sessionId);
147
147
  this.isKeygenComplete = false;
148
148
  try {
149
+ const engine = getMpcEngine().schnorr;
149
150
  let session;
150
151
  if ('create' in this.keygenOperation) {
151
- session = new KeygenSession(this.setupMessage, this.localPartyId);
152
+ session = await engine.createKeygenSession(this.setupMessage, this.localPartyId);
152
153
  }
153
154
  else if ('reshare' in this.keygenOperation &&
154
155
  this.keygenOperation.reshare === 'migrate') {
155
- session = KeygenSession.migrate(this.setupMessage, this.localPartyId, Buffer.from(this.localUI || '', 'hex'), Buffer.from(this.publicKey || '', 'hex'), Buffer.from(this.chainCode || '', 'hex'));
156
+ if (!engine.createMigrateSession) {
157
+ throw new Error('schnorr engine does not support createMigrateSession');
158
+ }
159
+ session = await engine.createMigrateSession(this.setupMessage, this.localPartyId, Buffer.from(this.localUI || '', 'hex'), Buffer.from(this.publicKey || '', 'hex'), Buffer.from(this.chainCode || '', 'hex'));
156
160
  }
157
161
  else {
158
162
  throw new Error('invalid keygen type');
@@ -162,7 +166,7 @@ export class Schnorr {
162
166
  const inbound = this.processInbound(session, start, messageId);
163
167
  const [, inboundResult] = await Promise.all([outbound, inbound]);
164
168
  if (inboundResult) {
165
- const keyShare = session.finish();
169
+ const keyShare = await session.finish();
166
170
  return {
167
171
  keyshare: base64Encode(keyShare.toBytes()),
168
172
  publicKey: Buffer.from(keyShare.publicKey()).toString('hex'),
@@ -195,9 +199,10 @@ export class Schnorr {
195
199
  async startReshare(rawSchnorrKeyshare, attempt, messageId) {
196
200
  console.log('startReshare schnorr, attempt:', attempt);
197
201
  this.isKeygenComplete = false;
202
+ const engine = getMpcEngine().schnorr;
198
203
  let localKeyshare = null;
199
204
  if (rawSchnorrKeyshare !== undefined && rawSchnorrKeyshare.length > 0) {
200
- localKeyshare = Keyshare.fromBytes(Buffer.from(rawSchnorrKeyshare, 'base64'));
205
+ localKeyshare = engine.keyshareFromBytes(Buffer.from(rawSchnorrKeyshare, 'base64'));
201
206
  }
202
207
  try {
203
208
  const setupMessageId = messageId ?? 'eddsa';
@@ -216,7 +221,7 @@ export class Schnorr {
216
221
  keygenCommittee: this.keygenCommittee,
217
222
  oldKeygenCommittee: this.oldKeygenCommittee,
218
223
  });
219
- setupMessage = QcSession.setup(localKeyshare, allCommittee, new Uint8Array(oldCommitteeIdx), threshold, new Uint8Array(newCommitteeIdx));
224
+ setupMessage = engine.reshareSetup(localKeyshare, allCommittee, new Uint8Array(oldCommitteeIdx), threshold, new Uint8Array(newCommitteeIdx));
220
225
  // upload setup message to server
221
226
  const encryptedSetupMsg = toMpcServerMessage(setupMessage, this.hexEncryptionKey);
222
227
  await uploadMpcSetupMessage({
@@ -235,14 +240,14 @@ export class Schnorr {
235
240
  });
236
241
  setupMessage = fromMpcServerMessage(encodedEncryptedSetupMsg, this.hexEncryptionKey);
237
242
  }
238
- const session = new QcSession(setupMessage, this.localPartyId, localKeyshare);
243
+ const session = await engine.createReshareSession(setupMessage, this.localPartyId, localKeyshare);
239
244
  try {
240
245
  const start = Date.now();
241
246
  const outbound = this.processOutbound(session, messageId);
242
247
  const inbound = this.processInbound(session, start, messageId);
243
248
  const [, inboundResult] = await Promise.all([outbound, inbound]);
244
249
  if (inboundResult) {
245
- const finalKeyShare = session.finish();
250
+ const finalKeyShare = await session.finish();
246
251
  if (finalKeyShare === undefined) {
247
252
  throw new Error('keyshare is null, schnorr reshare failed');
248
253
  }
@@ -254,7 +259,7 @@ export class Schnorr {
254
259
  }
255
260
  }
256
261
  finally {
257
- session.free();
262
+ session.free?.();
258
263
  }
259
264
  }
260
265
  catch (error) {
@@ -281,10 +286,12 @@ export class Schnorr {
281
286
  if (!this.isInitiateDevice) {
282
287
  return;
283
288
  }
289
+ const engine = getMpcEngine().schnorr;
284
290
  const privateKey = Buffer.from(hexPrivateKey, 'hex');
285
291
  const chainCode = Buffer.from(hexChainCode, 'hex');
286
- this.pendingKeyImportSession = new KeyImportInitiator(Uint8Array.from(privateKey), Uint8Array.from(chainCode), getKeygenThreshold(this.keygenCommittee.length), this.keygenCommittee);
287
- this.setupMessage = this.pendingKeyImportSession.setup;
292
+ const importResult = await engine.createKeyImportInitiator(Uint8Array.from(privateKey), Uint8Array.from(chainCode), getKeygenThreshold(this.keygenCommittee.length), this.keygenCommittee);
293
+ this.pendingKeyImportSession = importResult;
294
+ this.setupMessage = importResult.setup;
288
295
  const encryptedSetupMsg = toMpcServerMessage(this.setupMessage, this.hexEncryptionKey);
289
296
  const effectiveSetupId = messageId ?? 'eddsa_key_import';
290
297
  await uploadMpcSetupMessage({
@@ -299,21 +306,22 @@ export class Schnorr {
299
306
  console.log('startKeyImport schnorr, attempt:', attempt);
300
307
  this.isKeygenComplete = false;
301
308
  try {
309
+ const engine = getMpcEngine().schnorr;
302
310
  let session = null;
303
311
  const effectiveSetupId = setupMessageId ?? 'eddsa_key_import';
304
312
  if (this.isInitiateDevice) {
305
313
  if (attempt === 0 && this.pendingKeyImportSession) {
306
314
  const pendingSession = this.pendingKeyImportSession;
307
- session = pendingSession;
315
+ session = pendingSession.session;
308
316
  this.setupMessage = pendingSession.setup;
309
317
  this.pendingKeyImportSession = null;
310
318
  }
311
319
  else {
312
320
  const privateKey = Buffer.from(hexPrivateKey, 'hex');
313
321
  const chainCode = Buffer.from(hexChainCode, 'hex');
314
- const initiatorSession = new KeyImportInitiator(Uint8Array.from(privateKey), Uint8Array.from(chainCode), getKeygenThreshold(this.keygenCommittee.length), this.keygenCommittee);
315
- this.setupMessage = initiatorSession.setup;
316
- session = initiatorSession;
322
+ const importResult = await engine.createKeyImportInitiator(Uint8Array.from(privateKey), Uint8Array.from(chainCode), getKeygenThreshold(this.keygenCommittee.length), this.keygenCommittee);
323
+ this.setupMessage = importResult.setup;
324
+ session = importResult.session;
317
325
  const encryptedSetupMsg = toMpcServerMessage(this.setupMessage, this.hexEncryptionKey);
318
326
  await uploadMpcSetupMessage({
319
327
  serverUrl: this.serverURL,
@@ -334,7 +342,7 @@ export class Schnorr {
334
342
  }
335
343
  if ('keyimport' in this.keygenOperation) {
336
344
  if (!this.isInitiateDevice) {
337
- session = new KeyImportSession(this.setupMessage, this.localPartyId);
345
+ session = await engine.createKeyImportSession(this.setupMessage, this.localPartyId);
338
346
  }
339
347
  }
340
348
  else {
@@ -349,7 +357,7 @@ export class Schnorr {
349
357
  const inbound = this.processInbound(session, start, exchangeMessageId);
350
358
  const [, inboundResult] = await Promise.all([outbound, inbound]);
351
359
  if (inboundResult) {
352
- const keyShare = session.finish();
360
+ const keyShare = await session.finish();
353
361
  return {
354
362
  keyshare: base64Encode(keyShare.toBytes()),
355
363
  publicKey: Buffer.from(keyShare.publicKey()).toString('hex'),
@@ -1 +1 @@
1
- {"version":3,"file":"schnorrKeygen.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/schnorr/schnorrKeygen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schnorrKeygen.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/schnorr/schnorrKeygen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Wrap a WalletCore-produced Cardano tx body with witness CBOR.
3
+ *
4
+ * compileWithSignatures() calls encodeTransactionWithSig() which hits
5
+ * AddressV2::isValid() — crashing under WASM DISABLE_EXCEPTION_CATCHING.
6
+ * This module manually wraps the pre-signed tx body (from preImageHashes)
7
+ * with a CBOR witness set, producing a valid signed Cardano transaction.
8
+ *
9
+ * The tx body bytes are embedded verbatim (not re-encoded) because the
10
+ * MPC signature covers Blake2b of the exact bytes. Re-encoding could
11
+ * change key ordering or integer widths, invalidating the signature.
12
+ *
13
+ * The witness set is hand-encoded because common JS CBOR libraries tag
14
+ * Maps or encode object keys as text strings — Cardano requires plain
15
+ * CBOR maps with unsigned-integer keys.
16
+ */
17
+ type BuildSignedCardanoTxInput = {
18
+ /** CBOR-encoded transaction body from PreSigningOutput.data */
19
+ txBodyCbor: Uint8Array;
20
+ /** 32-byte Ed25519 spending public key */
21
+ publicKey: Uint8Array;
22
+ /** 64-byte Ed25519 signature (r || s, each little-endian) */
23
+ signature: Uint8Array;
24
+ };
25
+ /** Returns the full signed Cardano transaction as CBOR bytes. */
26
+ export declare const buildSignedCardanoTx: ({ txBodyCbor, publicKey, signature, }: BuildSignedCardanoTxInput) => Uint8Array;
27
+ export {};
28
+ //# sourceMappingURL=buildSignedCardanoTx.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSignedCardanoTx.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/tx/compile/cardano/buildSignedCardanoTx.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,KAAK,yBAAyB,GAAG;IAC/B,+DAA+D;IAC/D,UAAU,EAAE,UAAU,CAAA;IACtB,0CAA0C;IAC1C,SAAS,EAAE,UAAU,CAAA;IACrB,6DAA6D;IAC7D,SAAS,EAAE,UAAU,CAAA;CACtB,CAAA;AA4DD,iEAAiE;AACjE,eAAO,MAAM,oBAAoB,GAAI,uCAIlC,yBAAyB,KAAG,UAW9B,CAAA"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Wrap a WalletCore-produced Cardano tx body with witness CBOR.
3
+ *
4
+ * compileWithSignatures() calls encodeTransactionWithSig() which hits
5
+ * AddressV2::isValid() — crashing under WASM DISABLE_EXCEPTION_CATCHING.
6
+ * This module manually wraps the pre-signed tx body (from preImageHashes)
7
+ * with a CBOR witness set, producing a valid signed Cardano transaction.
8
+ *
9
+ * The tx body bytes are embedded verbatim (not re-encoded) because the
10
+ * MPC signature covers Blake2b of the exact bytes. Re-encoding could
11
+ * change key ordering or integer widths, invalidating the signature.
12
+ *
13
+ * The witness set is hand-encoded because common JS CBOR libraries tag
14
+ * Maps or encode object keys as text strings — Cardano requires plain
15
+ * CBOR maps with unsigned-integer keys.
16
+ */
17
+ /**
18
+ * Encode a CBOR byte string: major type 2, then length, then data.
19
+ * Supports lengths up to 65535 (two-byte length).
20
+ */
21
+ const cborBytes = (data) => {
22
+ if (data.length < 24) {
23
+ const out = new Uint8Array(1 + data.length);
24
+ out[0] = 0x40 | data.length;
25
+ out.set(data, 1);
26
+ return out;
27
+ }
28
+ if (data.length < 256) {
29
+ const out = new Uint8Array(2 + data.length);
30
+ out[0] = 0x58;
31
+ out[1] = data.length;
32
+ out.set(data, 2);
33
+ return out;
34
+ }
35
+ const out = new Uint8Array(3 + data.length);
36
+ out[0] = 0x59;
37
+ out[1] = (data.length >> 8) & 0xff;
38
+ out[2] = data.length & 0xff;
39
+ out.set(data, 3);
40
+ return out;
41
+ };
42
+ /**
43
+ * Build the witness set CBOR: a1 00 81 82 5820<vkey> 5840<sig>
44
+ * = map(1) { 0 => [ [bytes(32), bytes(64)] ] }
45
+ */
46
+ const buildWitnessCbor = (publicKey, signature) => {
47
+ const vkeyCbor = cborBytes(publicKey);
48
+ const sigCbor = cborBytes(signature);
49
+ // inner array [vkey, sig]: 0x82 = array(2)
50
+ const pair = concat([new Uint8Array([0x82]), vkeyCbor, sigCbor]);
51
+ // outer array [[vkey, sig]]: 0x81 = array(1)
52
+ const arr = concat([new Uint8Array([0x81]), pair]);
53
+ // map {0 => arr}: 0xa1 = map(1), 0x00 = uint(0)
54
+ return concat([new Uint8Array([0xa1, 0x00]), arr]);
55
+ };
56
+ const concat = (parts) => {
57
+ const totalLen = parts.reduce((sum, p) => sum + p.length, 0);
58
+ const result = new Uint8Array(totalLen);
59
+ let offset = 0;
60
+ for (const p of parts) {
61
+ result.set(p, offset);
62
+ offset += p.length;
63
+ }
64
+ return result;
65
+ };
66
+ /** Returns the full signed Cardano transaction as CBOR bytes. */
67
+ export const buildSignedCardanoTx = ({ txBodyCbor, publicKey, signature, }) => {
68
+ const witnessCbor = buildWitnessCbor(publicKey, signature);
69
+ // Signed tx: 0x84 [tx_body, witnesses, isValid, auxiliary_data]
70
+ return concat([
71
+ new Uint8Array([0x84]),
72
+ txBodyCbor,
73
+ witnessCbor,
74
+ new Uint8Array([0xf5]), // CBOR true (is_valid)
75
+ new Uint8Array([0xf6]), // CBOR null (no auxiliary data)
76
+ ]);
77
+ };
78
+ //# sourceMappingURL=buildSignedCardanoTx.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildSignedCardanoTx.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/tx/compile/cardano/buildSignedCardanoTx.ts"],"names":[],"mappings":"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"}