@vultisig/core-mpc 1.0.0 → 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.
- package/CHANGELOG.md +15 -0
- package/dist/dkls/dkls.d.ts.map +1 -1
- package/dist/dkls/dkls.js +75 -49
- package/dist/dkls/dkls.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/solana/index.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/solana/index.js +4 -1
- package/dist/keysign/chainSpecific/resolvers/solana/index.js.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/solana/refine.d.ts +2 -1
- package/dist/keysign/chainSpecific/resolvers/solana/refine.d.ts.map +1 -1
- package/dist/keysign/chainSpecific/resolvers/solana/refine.js +2 -3
- package/dist/keysign/chainSpecific/resolvers/solana/refine.js.map +1 -1
- package/dist/keysign/fee/resolvers/cosmos.d.ts.map +1 -1
- package/dist/keysign/fee/resolvers/cosmos.js +9 -10
- package/dist/keysign/fee/resolvers/cosmos.js.map +1 -1
- package/dist/keysign/index.js +13 -11
- package/dist/keysign/index.js.map +1 -1
- package/dist/keysign/refine/amount.js +1 -1
- package/dist/keysign/refine/amount.js.map +1 -1
- package/dist/keysign/setupMessage/make.d.ts.map +1 -1
- package/dist/keysign/setupMessage/make.js +2 -11
- package/dist/keysign/setupMessage/make.js.map +1 -1
- package/dist/keysign/signingInputs/resolvers/cardano.d.ts.map +1 -1
- package/dist/keysign/signingInputs/resolvers/cardano.js +25 -1
- package/dist/keysign/signingInputs/resolvers/cardano.js.map +1 -1
- package/dist/keysign/signingInputs/resolvers/ton/index.d.ts.map +1 -1
- package/dist/keysign/signingInputs/resolvers/ton/index.js +1 -0
- package/dist/keysign/signingInputs/resolvers/ton/index.js.map +1 -1
- package/dist/keysign/signingInputs/resolvers/ton/native.d.ts +2 -1
- package/dist/keysign/signingInputs/resolvers/ton/native.d.ts.map +1 -1
- package/dist/keysign/signingInputs/resolvers/ton/native.js +2 -1
- package/dist/keysign/signingInputs/resolvers/ton/native.js.map +1 -1
- package/dist/lib/initialize.d.ts +1 -1
- package/dist/lib/initialize.d.ts.map +1 -1
- package/dist/lib/initialize.js +4 -10
- package/dist/lib/initialize.js.map +1 -1
- package/dist/lib/keyshare.d.ts +1 -4
- package/dist/lib/keyshare.d.ts.map +1 -1
- package/dist/lib/keyshare.js +8 -8
- package/dist/lib/keyshare.js.map +1 -1
- package/dist/lib/signSession.d.ts +6 -5
- package/dist/lib/signSession.d.ts.map +1 -1
- package/dist/lib/signSession.js +38 -11
- package/dist/lib/signSession.js.map +1 -1
- package/dist/mldsa/mldsaKeygen.d.ts.map +1 -1
- package/dist/mldsa/mldsaKeygen.js +3 -1
- package/dist/mldsa/mldsaKeygen.js.map +1 -1
- package/dist/schnorr/schnorrKeygen.d.ts.map +1 -1
- package/dist/schnorr/schnorrKeygen.js +25 -17
- package/dist/schnorr/schnorrKeygen.js.map +1 -1
- package/dist/tx/compile/cardano/buildSignedCardanoTx.d.ts +28 -0
- package/dist/tx/compile/cardano/buildSignedCardanoTx.d.ts.map +1 -0
- package/dist/tx/compile/cardano/buildSignedCardanoTx.js +78 -0
- package/dist/tx/compile/cardano/buildSignedCardanoTx.js.map +1 -0
- package/dist/tx/compile/compileTx.d.ts +1 -1
- package/dist/tx/compile/compileTx.d.ts.map +1 -1
- package/dist/tx/compile/compileTx.js +33 -0
- package/dist/tx/compile/compileTx.js.map +1 -1
- package/dist/types/utils/commVault.js.map +1 -1
- package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts +4 -0
- package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.d.ts.map +1 -1
- package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js +1 -1
- package/dist/types/vultisig/keysign/v1/wasm_execute_contract_payload_pb.js.map +1 -1
- package/package.json +8 -2
|
@@ -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
|
-
|
|
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
|
-
|
|
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":"
|
|
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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cardano.d.ts","sourceRoot":"","sources":["../../../../../../../packages/core/mpc/keysign/signingInputs/resolvers/cardano.ts"],"names":[],"mappings":"
|
|
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,
|
|
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,
|
|
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"}
|
|
@@ -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,
|
|
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;
|
|
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"}
|
package/dist/lib/initialize.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { SignatureAlgorithm } from '@vultisig/core-chain/signing/SignatureAlgorithm';
|
|
2
|
-
export declare const initializeMpcLib: (
|
|
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;
|
|
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"}
|
package/dist/lib/initialize.js
CHANGED
|
@@ -1,13 +1,7 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
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
|
-
|
|
7
|
-
const
|
|
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,
|
|
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"}
|
package/dist/lib/keyshare.d.ts
CHANGED
|
@@ -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) =>
|
|
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;
|
|
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"}
|
package/dist/lib/keyshare.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
package/dist/lib/keyshare.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyshare.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/lib/keyshare.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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) =>
|
|
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;
|
|
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"}
|
package/dist/lib/signSession.js
CHANGED
|
@@ -1,15 +1,42 @@
|
|
|
1
|
-
import {
|
|
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:
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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,
|
|
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":"mldsaKeygen.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/mldsa/mldsaKeygen.ts"],"names":[],"mappings":"AAgBA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,WAAW;IACtB,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,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,YAAY,CAA+B;gBAGjD,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EAAE,EACzB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB;
|
|
1
|
+
{"version":3,"file":"mldsaKeygen.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/mldsa/mldsaKeygen.ts"],"names":[],"mappings":"AAgBA,KAAK,iBAAiB,GAAG;IACvB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,qBAAa,WAAW;IACtB,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,gBAAgB,CAAQ;IACzC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAQ;IACvC,OAAO,CAAC,gBAAgB,CAAiB;IACzC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,KAAK,CAA6B;IAC1C,OAAO,CAAC,YAAY,CAA+B;gBAGjD,gBAAgB,EAAE,OAAO,EACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,eAAe,EAAE,MAAM,EAAE,EACzB,gBAAgB,EAAE,MAAM,EACxB,OAAO,CAAC,EAAE;QACR,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,SAAS,CAAC,EAAE,MAAM,CAAA;QAClB,cAAc,CAAC,EAAE,MAAM,CAAA;KACxB;YAeW,eAAe;YAuCf,cAAc;YA2Dd,WAAW;IA6DZ,oBAAoB,IAAI,OAAO,CAAC,iBAAiB,CAAC;CAYhE"}
|
|
@@ -33,7 +33,9 @@ export class MldsaKeygen {
|
|
|
33
33
|
this.keygenCommittee = keygenCommittee;
|
|
34
34
|
this.hexEncryptionKey = hexEncryptionKey;
|
|
35
35
|
this.timeoutMs = options?.timeoutMs ?? 60000;
|
|
36
|
-
|
|
36
|
+
// Empty string matches VultiServer keygen relay routing (ProcessCreateMldsa / classic keygen).
|
|
37
|
+
// TSS batching passes explicit ids (e.g. p-mldsa / p-mldsa-setup) via options.
|
|
38
|
+
this.messageId = options?.messageId ?? '';
|
|
37
39
|
this.setupMessageId = options?.setupMessageId ?? this.messageId;
|
|
38
40
|
}
|
|
39
41
|
async processOutbound(session) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mldsaKeygen.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/mldsa/mldsaKeygen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAY,MAAM,6BAA6B,CAAA;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAE/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAA;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AAEtD,MAAM,UAAU,GAAG,EAAE,CAAA;AAOrB,MAAM,OAAO,WAAW;IACL,gBAAgB,CAAS;IACzB,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,YAAY,CAAQ;IACpB,eAAe,CAAU;IACzB,gBAAgB,CAAQ;IACxB,SAAS,CAAQ;IACjB,SAAS,CAAQ;IACjB,cAAc,CAAQ;IAC/B,gBAAgB,GAAY,KAAK,CAAA;IACjC,UAAU,GAAW,CAAC,CAAA;IACtB,KAAK,GAA2B,EAAE,CAAA;IAClC,YAAY,GAAe,IAAI,UAAU,EAAE,CAAA;IAEnD,YACE,gBAAyB,EACzB,SAAiB,EACjB,SAAiB,EACjB,YAAoB,EACpB,eAAyB,EACzB,gBAAwB,EACxB,OAIC;QAED,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAA;QACtC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;QACxC,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,KAAK,CAAA;QAC5C,IAAI,CAAC,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,
|
|
1
|
+
{"version":3,"file":"mldsaKeygen.js","sourceRoot":"","sources":["../../../../../packages/core/mpc/mldsa/mldsaKeygen.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schnorrKeygen.d.ts","sourceRoot":"","sources":["../../../../../packages/core/mpc/schnorr/schnorrKeygen.ts"],"names":[],"mappings":"
|
|
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 {
|
|
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 =
|
|
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
|
-
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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
|
-
|
|
287
|
-
this.
|
|
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
|
|
315
|
-
this.setupMessage =
|
|
316
|
-
session =
|
|
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 =
|
|
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'),
|