@vultisig/core-mpc 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/CHANGELOG.md +54 -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/cosigner.js +1 -1
  6. package/dist/keysign/cosigner.js.map +1 -1
  7. package/dist/keysign/fee/resolvers/cosmos.d.ts.map +1 -1
  8. package/dist/keysign/fee/resolvers/cosmos.js +9 -10
  9. package/dist/keysign/fee/resolvers/cosmos.js.map +1 -1
  10. package/dist/keysign/index.js +21 -17
  11. package/dist/keysign/index.js.map +1 -1
  12. package/dist/keysign/refine/amount.js +1 -1
  13. package/dist/keysign/refine/amount.js.map +1 -1
  14. package/dist/keysign/refine/utxo.d.ts.map +1 -1
  15. package/dist/keysign/refine/utxo.js +5 -6
  16. package/dist/keysign/refine/utxo.js.map +1 -1
  17. package/dist/keysign/setupMessage/make.d.ts.map +1 -1
  18. package/dist/keysign/setupMessage/make.js +2 -11
  19. package/dist/keysign/setupMessage/make.js.map +1 -1
  20. package/dist/keysign/signingInputs/resolvers/bitcoin/sighash.d.ts +28 -0
  21. package/dist/keysign/signingInputs/resolvers/bitcoin/sighash.d.ts.map +1 -0
  22. package/dist/keysign/signingInputs/resolvers/bitcoin/sighash.js +147 -0
  23. package/dist/keysign/signingInputs/resolvers/bitcoin/sighash.js.map +1 -0
  24. package/dist/keysign/signingInputs/resolvers/cardano.d.ts.map +1 -1
  25. package/dist/keysign/signingInputs/resolvers/cardano.js +25 -1
  26. package/dist/keysign/signingInputs/resolvers/cardano.js.map +1 -1
  27. package/dist/keysign/signingInputs/resolvers/ton/index.d.ts.map +1 -1
  28. package/dist/keysign/signingInputs/resolvers/ton/index.js +1 -0
  29. package/dist/keysign/signingInputs/resolvers/ton/index.js.map +1 -1
  30. package/dist/keysign/signingInputs/resolvers/ton/native.d.ts +2 -1
  31. package/dist/keysign/signingInputs/resolvers/ton/native.d.ts.map +1 -1
  32. package/dist/keysign/signingInputs/resolvers/ton/native.js +2 -1
  33. package/dist/keysign/signingInputs/resolvers/ton/native.js.map +1 -1
  34. package/dist/keysign/swap/build.d.ts +1 -1
  35. package/dist/keysign/swap/build.d.ts.map +1 -1
  36. package/dist/lib/initialize.d.ts +1 -1
  37. package/dist/lib/initialize.d.ts.map +1 -1
  38. package/dist/lib/initialize.js +4 -10
  39. package/dist/lib/initialize.js.map +1 -1
  40. package/dist/lib/keyshare.d.ts +1 -4
  41. package/dist/lib/keyshare.d.ts.map +1 -1
  42. package/dist/lib/keyshare.js +8 -8
  43. package/dist/lib/keyshare.js.map +1 -1
  44. package/dist/lib/signSession.d.ts +6 -5
  45. package/dist/lib/signSession.d.ts.map +1 -1
  46. package/dist/lib/signSession.js +38 -11
  47. package/dist/lib/signSession.js.map +1 -1
  48. package/dist/schnorr/schnorrKeygen.d.ts.map +1 -1
  49. package/dist/schnorr/schnorrKeygen.js +25 -17
  50. package/dist/schnorr/schnorrKeygen.js.map +1 -1
  51. package/dist/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.d.ts.map +1 -1
  52. package/dist/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.js +7 -0
  53. package/dist/security/blockaid/tx/utils/getCompiledTxsForBlockaidInput.js.map +1 -1
  54. package/dist/tx/compile/cardano/buildSignedCardanoTx.d.ts +28 -0
  55. package/dist/tx/compile/cardano/buildSignedCardanoTx.d.ts.map +1 -0
  56. package/dist/tx/compile/cardano/buildSignedCardanoTx.js +78 -0
  57. package/dist/tx/compile/cardano/buildSignedCardanoTx.js.map +1 -0
  58. package/dist/tx/compile/compileSignBitcoinTx.d.ts +20 -0
  59. package/dist/tx/compile/compileSignBitcoinTx.d.ts.map +1 -0
  60. package/dist/tx/compile/compileSignBitcoinTx.js +101 -0
  61. package/dist/tx/compile/compileSignBitcoinTx.js.map +1 -0
  62. package/dist/tx/compile/compileTx.d.ts +4 -2
  63. package/dist/tx/compile/compileTx.d.ts.map +1 -1
  64. package/dist/tx/compile/compileTx.js +47 -5
  65. package/dist/tx/compile/compileTx.js.map +1 -1
  66. package/dist/tx/preSigningHashes/index.d.ts +3 -1
  67. package/dist/tx/preSigningHashes/index.d.ts.map +1 -1
  68. package/dist/tx/preSigningHashes/index.js +10 -5
  69. package/dist/tx/preSigningHashes/index.js.map +1 -1
  70. package/dist/types/utils/commVault.d.ts.map +1 -1
  71. package/dist/types/utils/commVault.js +1 -4
  72. package/dist/types/utils/commVault.js.map +1 -1
  73. package/dist/types/utils/libType.d.ts +3 -7
  74. package/dist/types/utils/libType.d.ts.map +1 -1
  75. package/dist/types/utils/libType.js +4 -20
  76. package/dist/types/utils/libType.js.map +1 -1
  77. package/dist/types/vultisig/keygen/v1/single_keygen_message_pb.d.ts +5 -5
  78. package/dist/types/vultisig/keygen/v1/single_keygen_message_pb.d.ts.map +1 -1
  79. package/dist/types/vultisig/keygen/v1/single_keygen_message_pb.js +5 -12
  80. package/dist/types/vultisig/keygen/v1/single_keygen_message_pb.js.map +1 -1
  81. package/dist/types/vultisig/keygen/v1/single_keygen_type_pb.d.ts +1 -1
  82. package/dist/types/vultisig/keygen/v1/single_keygen_type_pb.d.ts.map +1 -1
  83. package/dist/types/vultisig/keygen/v1/single_keygen_type_pb.js +3 -7
  84. package/dist/types/vultisig/keygen/v1/single_keygen_type_pb.js.map +1 -1
  85. package/dist/types/vultisig/keysign/v1/keysign_message_pb.d.ts +7 -1
  86. package/dist/types/vultisig/keysign/v1/keysign_message_pb.d.ts.map +1 -1
  87. package/dist/types/vultisig/keysign/v1/keysign_message_pb.js +1 -1
  88. package/dist/types/vultisig/keysign/v1/keysign_message_pb.js.map +1 -1
  89. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts +152 -0
  90. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts.map +1 -1
  91. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js +16 -1
  92. package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js.map +1 -1
  93. package/dist/types/vultisig/vault/v1/vault_pb.d.ts +8 -0
  94. package/dist/types/vultisig/vault/v1/vault_pb.d.ts.map +1 -1
  95. package/dist/types/vultisig/vault/v1/vault_pb.js +1 -1
  96. package/dist/types/vultisig/vault/v1/vault_pb.js.map +1 -1
  97. package/package.json +18 -2
@@ -1 +1 @@
1
- {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/refine/amount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAK9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AASxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IACrE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;QACnC,OAAO,KAAK,CAAC,cAAc,CAAA;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,cAAc,CAAA;IAC7B,CAAC;IAED,IACE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,EACxB,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,CAAA;IAC7B,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAE/B,MAAM,aAAa,GAAG,SAAS,CAC7B,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EACrC,KAAK,CAAC,OAAO,GAAG,GAAG,CACpB,CAAA;IAED,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,wBAAwB,CAAC,kBAAkB,CAAC,CAAA;IACxD,CAAC;IAED,OAAO;QACL,GAAG,KAAK,CAAC,cAAc;QACvB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;KACnC,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"amount.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/refine/amount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,2CAA2C,CAAA;AACrE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAK9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAA;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAA;AASxD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAA+B,EAAE,EAAE;IACrE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;QAC5E,OAAO,KAAK,CAAC,cAAc,CAAA;IAC7B,CAAC;IAED,MAAM,IAAI,GAAG,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;IACjD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC,cAAc,CAAA;IAC7B,CAAC;IAED,IACE,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,IAAI,CAAC,KAAK,KAAK,KAAK,CAAC,GAAG,EACxB,CAAC;QACD,OAAO,KAAK,CAAC,cAAc,CAAA;IAC7B,CAAC;IAED,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;IAE/B,MAAM,aAAa,GAAG,SAAS,CAC7B,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,EACrC,KAAK,CAAC,OAAO,GAAG,GAAG,CACpB,CAAA;IAED,IAAI,aAAa,IAAI,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,wBAAwB,CAAC,kBAAkB,CAAC,CAAA;IACxD,CAAC;IAED,OAAO;QACL,GAAG,KAAK,CAAC,cAAc;QACvB,QAAQ,EAAE,aAAa,CAAC,QAAQ,EAAE;KACnC,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/refine/utxo.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AAMnF,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAwBD,eAAO,MAAM,iBAAiB,GAC5B,OAAO,sBAAsB,KAC5B,cAgFF,CAAA"}
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/refine/utxo.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,oDAAoD,CAAA;AAMnF,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,cAAc,CAAA;IAC9B,UAAU,EAAE,UAAU,CAAA;IACtB,SAAS,EAAE,SAAS,CAAA;CACrB,CAAA;AAwBD,eAAO,MAAM,iBAAiB,GAC5B,OAAO,sBAAsB,KAC5B,cA+EF,CAAA"}
@@ -18,12 +18,11 @@ const convertPlanUtxosToUtxoInfo = ({ utxos, walletCore, }) => utxos.map(({ outP
18
18
  });
19
19
  export const refineKeysignUtxo = (input) => {
20
20
  const utxoSpecific = getBlockchainSpecificValue(input.keysignPayload.blockchainSpecific, 'utxoSpecific');
21
- // PSBTs already have UTXOs defined - skip refinement logic
22
- // The PSBT contains all necessary UTXO selection and transaction structure
23
- // TODO: Re-enable once we work again over psbt support
24
- // if (utxoSpecific.psbt) {
25
- // return input.keysignPayload
26
- // }
21
+ // PSBTs already have UTXOs defined skip refinement.
22
+ // When signData is signBitcoin, the PSBT defines exact inputs/outputs.
23
+ if (input.keysignPayload.signData.case === 'signBitcoin') {
24
+ return input.keysignPayload;
25
+ }
27
26
  const [signingInput] = getUtxoSigningInputs(input);
28
27
  const plan = shouldBePresent(signingInput.plan, 'UTXO signing input plan');
29
28
  const planUtxos = plan.utxos;
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/refine/utxo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utxo.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/refine/utxo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"make.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/setupMessage/make.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AASpF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,EAAE,kBAAkB,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,gEAM9B,qBAAqB,gCAoBvB,CAAA"}
1
+ {"version":3,"file":"make.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/setupMessage/make.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iDAAiD,CAAA;AAKpF,KAAK,qBAAqB,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,kBAAkB,EAAE,kBAAkB,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,gBAAgB,GAAI,gEAM9B,qBAAqB,gCAMvB,CAAA"}
@@ -1,18 +1,9 @@
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';
4
1
  import { toMpcLibKeyshare } from '../../lib/keyshare.js';
5
- const mldsaSignLevel = 44;
2
+ import { SignSession } from '../../lib/signSession.js';
6
3
  export const makeSetupMessage = ({ keyShare, chainPath, message, devices, signatureAlgorithm, }) => {
7
4
  const ks = toMpcLibKeyshare({ keyShare, signatureAlgorithm });
8
5
  const keyId = ks.keyId();
9
6
  const messageBytes = Buffer.from(message, 'hex');
10
- if (signatureAlgorithm === 'mldsa') {
11
- return MldsaSignSession.setup(mldsaSignLevel, keyId, chainPath, messageBytes, devices);
12
- }
13
- if (signatureAlgorithm === 'ecdsa') {
14
- return DklsSignSession.setup(keyId, chainPath, messageBytes, devices);
15
- }
16
- return SchnorrSignSession.setup(keyId, chainPath, messageBytes, devices);
7
+ return SignSession[signatureAlgorithm].setup(keyId, chainPath, messageBytes, devices);
17
8
  };
18
9
  //# sourceMappingURL=make.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"make.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/setupMessage/make.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,oBAAoB,CAAA;AAErD,MAAM,cAAc,GAAG,EAAE,CAAA;AAUzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,kBAAkB,GACI,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;IACxB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAEhD,IAAI,kBAAkB,KAAK,OAAO,EAAE,CAAC;QACnC,OAAO,gBAAgB,CAAC,KAAK,CAC3B,cAAc,EACd,KAAK,EACL,SAAS,EACT,YAAY,EACZ,OAAO,CACR,CAAA;IACH,CAAC;IAED,IAAI,kBAAkB,KAAK,OAAO,EAAE,CAAC;QACnC,OAAO,eAAe,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;IACvE,CAAC;IAED,OAAO,kBAAkB,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AAC1E,CAAC,CAAA"}
1
+ {"version":3,"file":"make.js","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/setupMessage/make.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAUnD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,OAAO,EACP,OAAO,EACP,kBAAkB,GACI,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAA;IAC7D,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,CAAA;IACxB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IAEhD,OAAO,WAAW,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,CAAC,CAAA;AACvF,CAAC,CAAA"}
@@ -0,0 +1,28 @@
1
+ import { SignBitcoin } from '../../../../types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js';
2
+ /** Serialize a uint32 as 4 bytes little-endian. */
3
+ export declare const writeUInt32LE: (value: number) => Buffer;
4
+ /** Serialize a uint64 as 8 bytes little-endian (Bitcoin amounts are unsigned). */
5
+ export declare const writeUInt64LE: (value: bigint) => Buffer;
6
+ /** Encode an integer as a Bitcoin varint (CompactSize). */
7
+ export declare const writeVarInt: (n: number) => Buffer;
8
+ /**
9
+ * Compute BIP-143 sighashes for all `isOurs` inputs in a SignBitcoin message.
10
+ * Returns one sighash (32 bytes) per input that has `isOurs === true`,
11
+ * in the same order they appear in `signBitcoin.inputs`.
12
+ *
13
+ * Currently supports P2WPKH and P2SH-P2WPKH script types (SIGHASH_ALL only).
14
+ *
15
+ * Follow-up work:
16
+ * - P2TR (Taproot): requires BIP-341 sighash (tagged hashes, Schnorr signatures,
17
+ * commits to ALL input amounts/scriptPubKeys). See https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki
18
+ * bitcoinjs-lib provides Transaction.hashForWitnessV1() for this.
19
+ * - P2PKH (legacy): requires legacy sighash (not BIP-143).
20
+ * bitcoinjs-lib provides Transaction.hashForSignature() for this.
21
+ * - P2WSH: requires BIP-143 with the full witnessScript as scriptCode.
22
+ * - SIGHASH_SINGLE, SIGHASH_NONE, ANYONECANPAY: require conditional
23
+ * hashPrevouts/hashSequence/hashOutputs computation per BIP-143.
24
+ *
25
+ * @see https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
26
+ */
27
+ export declare const computePreSigningHashes: (signBitcoin: SignBitcoin) => Uint8Array[];
28
+ //# sourceMappingURL=sighash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sighash.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/bitcoin/sighash.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,wEAAwE,CAAA;AASpG,mDAAmD;AACnD,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAI7C,CAAA;AAED,kFAAkF;AAClF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAI7C,CAAA;AAED,2DAA2D;AAC3D,eAAO,MAAM,WAAW,GAAI,GAAG,MAAM,KAAG,MAiBvC,CAAA;AA0BD;;;;;;;;;;;;;;;;;;GAkBG;AACH,eAAO,MAAM,uBAAuB,GAClC,aAAa,WAAW,KACvB,UAAU,EAgGZ,CAAA"}
@@ -0,0 +1,147 @@
1
+ import { sha256 } from '@noble/hashes/sha256';
2
+ // -- Shared serialization utilities --
3
+ // See https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
4
+ /** Double-SHA256 as used in Bitcoin consensus. */
5
+ const hash256 = (data) => Buffer.from(sha256(sha256(data)));
6
+ /** Serialize a uint32 as 4 bytes little-endian. */
7
+ export const writeUInt32LE = (value) => {
8
+ const buf = Buffer.alloc(4);
9
+ buf.writeUInt32LE(value);
10
+ return buf;
11
+ };
12
+ /** Serialize a uint64 as 8 bytes little-endian (Bitcoin amounts are unsigned). */
13
+ export const writeUInt64LE = (value) => {
14
+ const buf = Buffer.alloc(8);
15
+ buf.writeBigUInt64LE(value);
16
+ return buf;
17
+ };
18
+ /** Encode an integer as a Bitcoin varint (CompactSize). */
19
+ export const writeVarInt = (n) => {
20
+ if (n < 0 || n > 0xffffffff) {
21
+ throw new Error(`writeVarInt: value out of range: ${n}`);
22
+ }
23
+ if (n < 0xfd) {
24
+ return Buffer.from([n]);
25
+ }
26
+ if (n <= 0xffff) {
27
+ const buf = Buffer.alloc(3);
28
+ buf[0] = 0xfd;
29
+ buf.writeUInt16LE(n, 1);
30
+ return buf;
31
+ }
32
+ const buf = Buffer.alloc(5);
33
+ buf[0] = 0xfe;
34
+ buf.writeUInt32LE(n, 1);
35
+ return buf;
36
+ };
37
+ /**
38
+ * Derive BIP-143 scriptCode from a P2WPKH scriptPubKey.
39
+ * 0x0014<20-byte-hash> -> OP_DUP OP_HASH160 <20> <hash> OP_EQUALVERIFY OP_CHECKSIG
40
+ * The 0x19 length prefix is part of the scriptCode per BIP-143.
41
+ */
42
+ const p2wpkhScriptCode = (scriptPubKey) => {
43
+ const pubkeyHash = scriptPubKey.subarray(2, 22);
44
+ return Buffer.concat([
45
+ Buffer.from([0x19, 0x76, 0xa9, 0x14]),
46
+ pubkeyHash,
47
+ Buffer.from([0x88, 0xac]),
48
+ ]);
49
+ };
50
+ /** Serialize an outpoint (txid LE + vout LE). */
51
+ const serializeOutpoint = (hash, index) => {
52
+ const txid = Buffer.from(hash, 'hex').reverse();
53
+ return Buffer.concat([txid, writeUInt32LE(index)]);
54
+ };
55
+ /** Serialize a Bitcoin output (value + scriptPubKey with varint length). */
56
+ const serializeOutput = (amount, scriptPubKey) => Buffer.concat([writeUInt64LE(amount), writeVarInt(scriptPubKey.length), scriptPubKey]);
57
+ /**
58
+ * Compute BIP-143 sighashes for all `isOurs` inputs in a SignBitcoin message.
59
+ * Returns one sighash (32 bytes) per input that has `isOurs === true`,
60
+ * in the same order they appear in `signBitcoin.inputs`.
61
+ *
62
+ * Currently supports P2WPKH and P2SH-P2WPKH script types (SIGHASH_ALL only).
63
+ *
64
+ * Follow-up work:
65
+ * - P2TR (Taproot): requires BIP-341 sighash (tagged hashes, Schnorr signatures,
66
+ * commits to ALL input amounts/scriptPubKeys). See https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki
67
+ * bitcoinjs-lib provides Transaction.hashForWitnessV1() for this.
68
+ * - P2PKH (legacy): requires legacy sighash (not BIP-143).
69
+ * bitcoinjs-lib provides Transaction.hashForSignature() for this.
70
+ * - P2WSH: requires BIP-143 with the full witnessScript as scriptCode.
71
+ * - SIGHASH_SINGLE, SIGHASH_NONE, ANYONECANPAY: require conditional
72
+ * hashPrevouts/hashSequence/hashOutputs computation per BIP-143.
73
+ *
74
+ * @see https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki
75
+ */
76
+ export const computePreSigningHashes = (signBitcoin) => {
77
+ const { version, locktime, inputs, outputs } = signBitcoin;
78
+ if (inputs.length === 0) {
79
+ throw new Error('SignBitcoin has no inputs');
80
+ }
81
+ const oursCount = inputs.filter(i => i.isOurs).length;
82
+ if (oursCount === 0) {
83
+ throw new Error('No signable inputs (all isOurs === false)');
84
+ }
85
+ // hashPrevouts = double_SHA256(all outpoints serialized)
86
+ const prevoutsData = Buffer.concat(inputs.map(inp => serializeOutpoint(inp.hash, inp.index)));
87
+ const hashPrevouts = hash256(prevoutsData);
88
+ // hashSequence = double_SHA256(all sequences serialized)
89
+ const sequenceData = Buffer.concat(inputs.map(inp => writeUInt32LE(inp.sequence ?? 0xffffffff)));
90
+ const hashSequence = hash256(sequenceData);
91
+ // hashOutputs = double_SHA256(all outputs serialized)
92
+ const outputsData = Buffer.concat(outputs.map(out => serializeOutput(out.amount, Buffer.from(out.scriptPubKey, 'hex'))));
93
+ const hashOutputs = hash256(outputsData);
94
+ const sighashes = [];
95
+ for (const input of inputs) {
96
+ if (!input.isOurs)
97
+ continue;
98
+ if (input.amount < 0n) {
99
+ throw new Error(`Input amount must be non-negative, got ${input.amount}`);
100
+ }
101
+ const scriptPubKey = Buffer.from(input.scriptPubKey, 'hex');
102
+ let scriptCode;
103
+ if (input.scriptType === 'p2wpkh') {
104
+ scriptCode = p2wpkhScriptCode(scriptPubKey);
105
+ }
106
+ else if (input.scriptType === 'p2sh-p2wpkh') {
107
+ if (!input.redeemScript) {
108
+ throw new Error('P2SH-P2WPKH inputs require redeemScript');
109
+ }
110
+ const redeemScript = Buffer.from(input.redeemScript, 'hex');
111
+ if (redeemScript.length !== 22 ||
112
+ redeemScript[0] !== 0x00 ||
113
+ redeemScript[1] !== 0x14) {
114
+ throw new Error('Unsupported redeemScript for p2sh-p2wpkh');
115
+ }
116
+ scriptCode = p2wpkhScriptCode(redeemScript);
117
+ }
118
+ else {
119
+ throw new Error(`Unsupported script type for BIP-143 sighash: ${input.scriptType}`);
120
+ }
121
+ const sighashType = input.sighashType ?? 1; // SIGHASH_ALL
122
+ const baseType = sighashType & 0x1f;
123
+ const anyoneCanPay = (sighashType & 0x80) !== 0;
124
+ if (baseType !== 0x01 || anyoneCanPay) {
125
+ throw new Error(`Unsupported sighash type: 0x${sighashType.toString(16)}. ` +
126
+ `Only SIGHASH_ALL (0x01) is currently supported.`);
127
+ }
128
+ // BIP-143 preimage:
129
+ // version || hashPrevouts || hashSequence || outpoint || scriptCode || value || sequence || hashOutputs || locktime || sighashType
130
+ const outpoint = serializeOutpoint(input.hash, input.index);
131
+ const preimage = Buffer.concat([
132
+ writeUInt32LE(version),
133
+ hashPrevouts,
134
+ hashSequence,
135
+ outpoint,
136
+ scriptCode,
137
+ writeUInt64LE(input.amount),
138
+ writeUInt32LE(input.sequence ?? 0xffffffff),
139
+ hashOutputs,
140
+ writeUInt32LE(locktime),
141
+ writeUInt32LE(sighashType),
142
+ ]);
143
+ sighashes.push(hash256(preimage));
144
+ }
145
+ return sighashes;
146
+ };
147
+ //# sourceMappingURL=sighash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sighash.js","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/bitcoin/sighash.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AAEnD,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CAAC,SAAS,CAiCpE,CAAA"}
1
+ {"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAA;AASnD,eAAO,MAAM,uBAAuB,EAAE,qBAAqB,CAAC,SAAS,CAsDpE,CAAA"}
@@ -1,17 +1,41 @@
1
+ import { fromCardanoAssetId } from '@vultisig/core-chain/chains/cardano/asset/cardanoAssetId';
1
2
  import { shouldBePresent } from '@vultisig/lib-utils/assert/shouldBePresent';
2
3
  import { stripHexPrefix } from '@vultisig/lib-utils/hex/stripHexPrefix';
3
4
  import { TW } from '@trustwallet/wallet-core';
4
5
  import Long from 'long';
5
6
  import { getBlockchainSpecificValue } from '../../chainSpecific/KeysignChainSpecific.js';
7
+ /** Encodes a token amount as big-endian bytes for WalletCore's Cardano proto. */
8
+ const amountToBytes = (amount) => {
9
+ const hex = amount.toString(16);
10
+ const padded = hex.length % 2 === 0 ? hex : `0${hex}`;
11
+ return Uint8Array.from(Buffer.from(padded, 'hex'));
12
+ };
6
13
  export const getCardanoSigningInputs = ({ keysignPayload, walletCore, }) => {
7
- const { sendMaxAmount, ttl } = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'cardano');
14
+ const { sendMaxAmount, ttl, byteFee } = getBlockchainSpecificValue(keysignPayload.blockchainSpecific, 'cardano');
8
15
  const coin = shouldBePresent(keysignPayload.coin);
16
+ const isTokenSend = coin.contractAddress !== '';
17
+ const tokenBundle = isTokenSend
18
+ ? (() => {
19
+ const { policyId, assetName } = fromCardanoAssetId(coin.contractAddress);
20
+ return TW.Cardano.Proto.TokenBundle.create({
21
+ token: [
22
+ TW.Cardano.Proto.TokenAmount.create({
23
+ policyId,
24
+ assetNameHex: assetName,
25
+ amount: amountToBytes(BigInt(keysignPayload.toAmount)),
26
+ }),
27
+ ],
28
+ });
29
+ })()
30
+ : undefined;
9
31
  const input = TW.Cardano.Proto.SigningInput.create({
10
32
  transferMessage: TW.Cardano.Proto.Transfer.create({
11
33
  toAddress: keysignPayload.toAddress,
12
34
  changeAddress: coin.address,
13
35
  amount: Long.fromString(keysignPayload.toAmount),
14
36
  useMaxAmount: sendMaxAmount,
37
+ tokenAmount: tokenBundle,
38
+ forceFee: Long.fromString(byteFee.toString()),
15
39
  }),
16
40
  ttl: Long.fromString(ttl.toString()),
17
41
  utxos: keysignPayload.utxoInfo.map(({ hash, amount, index }) => TW.Cardano.Proto.TxInput.create({
@@ -1 +1 @@
1
- {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,4CAA4C,CAAA;AAC5E,OAAO,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAA;AACvE,OAAO,EAAE,EAAE,EAAE,MAAM,0BAA0B,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,0BAA0B,EAAE,MAAM,0CAA0C,CAAA;AAGrF,MAAM,CAAC,MAAM,uBAAuB,GAAqC,CAAC,EACxE,cAAc,EACd,UAAU,GACX,EAAE,EAAE;IACH,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,0BAA0B,CACvD,cAAc,CAAC,kBAAkB,EACjC,SAAS,CACV,CAAA;IAED,MAAM,IAAI,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IAEjD,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;QACjD,eAAe,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;YAChD,SAAS,EAAE,cAAc,CAAC,SAAS;YACnC,aAAa,EAAE,IAAI,CAAC,OAAO;YAC3B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC;YAChD,YAAY,EAAE,aAAa;SAC5B,CAAC;QACF,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;QAEpC,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,CAC7D,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAC9B,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzC,MAAM,EAAE,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACzD,WAAW,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;aAC/C,CAAC;YACF,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC1C,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,CAAC,CACH;KACF,CAAC,CAAA;IAEF,OAAO,CAAC,KAAK,CAAC,CAAA;AAChB,CAAC,CAAA"}
1
+ {"version":3,"file":"cardano.js","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAOtD,eAAO,MAAM,mBAAmB,EAAE,qBAAqB,CAAC,KAAK,CA4D5D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/ton/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAOtD,eAAO,MAAM,mBAAmB,EAAE,qBAAqB,CAAC,KAAK,CA6D5D,CAAA"}
@@ -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"}
@@ -7,7 +7,7 @@ import { PublicKey } from '@trustwallet/wallet-core/dist/src/wallet-core';
7
7
  export type BuildSwapKeysignPayloadInput = {
8
8
  fromCoin: AccountCoin;
9
9
  toCoin: AccountCoin;
10
- amount: number;
10
+ amount: string | number;
11
11
  swapQuote: SwapQuote;
12
12
  vaultId: string;
13
13
  localPartyId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/build.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAMnE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAS1D,OAAO,EACL,cAAc,EAEf,MAAM,iEAAiE,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAEzE,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,SAAS,CAAA;IACxB,WAAW,EAAE,SAAS,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,kHAW3C,4BAA4B,4BAqK9B,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../../../../../packages/core/mpc/keysign/swap/build.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAA;AAMnE,OAAO,EAAE,SAAS,EAAmB,MAAM,2CAA2C,CAAA;AAMtF,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAA;AAS1D,OAAO,EACL,cAAc,EAEf,MAAM,iEAAiE,CAAA;AAExE,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,+CAA+C,CAAA;AAEzE,MAAM,MAAM,4BAA4B,GAAG;IACzC,QAAQ,EAAE,WAAW,CAAA;IACrB,MAAM,EAAE,WAAW,CAAA;IACnB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,MAAM,CAAA;IACf,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,SAAS,CAAA;IACxB,WAAW,EAAE,SAAS,CAAA;IACtB,OAAO,EAAE,cAAc,CAAA;IACvB,UAAU,EAAE,UAAU,CAAA;CACvB,CAAA;AAED,eAAO,MAAM,uBAAuB,GAAU,kHAW3C,4BAA4B,4BAqK9B,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"}